2017-04-11 75 views

回答

0
strcat(argv[1], original); 

类型的argv[1]const char*,并且strcat第一个参数为char*

argv中的字符串不应该被修改。

你基本上需要这个(仍然有改进的余地):

char txtextension[5] = ".txt"; 
char filename[200]; // 200 will be hopefully enough 
strcpy(filename, argv[1]); 
strcat(filename, txtextension); 
FILE *find; 
find = fopen(filename, "r"); 

图片的标题说明

  1. 更换char original[5] = ".txt";char original[] = ".txt";。在后一种情况下,编译器会自动分配正确的内存大小。
  2. 根据它们所代表的名称变量,所以original应该命名为例如txtextension
+0

非常感谢。现在我的程序可以运行。 #我不擅长英语。很抱歉,如果我写错了句子。 –

+0

如果答案是你需要的,你应该通过点击勾选的复选标记来接受它,所以其他人知道答案是有用的。 –

+0

如果你不希望200是足够的,那么对于数组大小,应该在'limits.h'(或Windows中的MAX_PATH')中定义'PATH_MAX'。 – mch

相关问题