int main(int argc, char const *argv[])
{
char original[5] = ".txt";
int c;
strcat(argv[1], original);
FILE *find;
find = fopen( argv[1], "r");
if (find) {
while ((c = getc(find)) != EOF)
putchar(c);
fclose(find);
}
return(0);
}
我该怎么办? 现在,我用c编程创建一个项目。
答案 0 :(得分: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");
<强>图片的标题说明强>:
char original[5] = ".txt";
替换为char original[] = ".txt";
。在后一种情况下,编译器会自动分配正确的内存大小。original
应以txtextension
命名。