Man*_*son 0 c arrays types pointers
所以我想知道为什么我不能这样做.
int main(int argc, char **argv){
FILE *src;
char filePath[261];
filePath = argv[1];
Run Code Online (Sandbox Code Playgroud)
最后一行是存在编译器错误的地方.char []和char*之间有什么区别?我如何修复此代码,以便将filePath设置为等于argv [1].提前致谢.
使用
strcpy(filePath, argv[1]);
Run Code Online (Sandbox Code Playgroud)
并且幸福快乐.不要忘记检查argv [1]是否为NULL,并且不要忘记查看argc是否> 1.
您的filePath
变量是一个固定大小的数组,它在堆栈上分配,而argv [i]是指向堆中某些内存的指针.无法分配到filePath,因为filePath不是指针,而是数据本身.
归档时间: |
|
查看次数: |
500 次 |
最近记录: |