【发布时间】:2016-05-12 08:54:29
【问题描述】:
谁能解释一下,为什么文件打开不成功?为什么打印“文件”会给出-1?是char *source的问题吗?
int opf(char *source){
int file;
file=open(source,O_RWR);
printf("%d",file);
}
有没有可能做这样的事情: 文件在另一个目录中,所以
int opf(char *source){
int file;
file=open("some_directory/ %s",source,O_RWR);
printf("%d",file);
}
在这里,我得到“从指针生成整数而不进行强制转换”错误。我尝试了很多不同的方法,但我想问题在于我没有正确掌握这些概念。
【问题讨论】:
-
什么是
O_RWR? Do you meanO_RDWR? -
至于你的第二个和不相关的问题(你真的应该发布两个问题)搜索并阅读
snprintf。 -
这与指针无关;您正在尝试使用
open,就好像它是printf。但它不是printf。这是open。 -
你不能编造一些东西并期望它们能正常工作,甚至在你尝试它们时期望得到有用的错误消息。