char *source
的问题吗?
int opf(char *source){
int file;
file=open(source,O_RWR);
printf("%d",file);
}
是否有可能做到这样的事情: file在另一个目录中,所以
int opf(char *source){
int file;
file=open("some_directory/ %s",source,O_RWR);
printf("%d",file);
}
这里我得到"从指针生成整数而没有强制转换"错误。我尝试了很多不同的东西,但我想问题在于我没有正确掌握这些概念。
答案 0 :(得分:8)
来自open()
的{{3}}(强调我的)
成功完成后,该函数将打开该文件并返回一个表示编号最小的未使用文件描述符的非负整数。 否则,返回-1并设置errno以指示错误。如果函数返回-1,则不应创建或修改任何文件。
因此,在您的情况下,open()
失败了。检查errno
以获取更多详细信息。 errno
的所有可能值也记录在链接页面中。
话虽如此,
O_RWR
似乎不是有效的模式,O_RDWR
是。path
字符串,然后将其传递给open()
。