这是我收到的警告。
copyit.c: In function ‘main’:
copyit.c:15: warning: assignment makes integer from pointer without a cast
copyit.c:16: warning: assignment makes integer from pointer without a cast
这对应的代码行是以指针(*)开头的代码行。
char source[128],target[128],buffer[512];
if(argc==3) {
*source = argv[1];
*target = argv[2];
}
我只想分配这两个东西,这样我就可以像那样从命令行传递它们,然后我可以在我的句柄中使用它们(例如:inhandle=open(source,O_RDONLY); 谢谢。
最佳答案
argv 是一个字符串指针数组。您应该只将 source
和 target
更改为 char *
或 const char *
而不是数组并将代码更改为
source = argv[3];
target = argv[4];
这将使它起作用。如果您将字符串复制到数组中,它还可以防止缓冲区溢出。这也意味着您的应用程序将处理长文件路径。
关于c - 警告 : assignment makes integer from pointer without a cast ARGV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21541044/