你代码中的一些语句很麻烦,会给你警告
char
*change(char *str) {
int i, len;
len = strlen(str);
for (i=0; i < len; i++){
if (str[i] == "\n") { //this is troublesome
****str[i] = " "; //this is troublesome****
}
}
return str;
}
添加str[i] = ' '而不是 str[i]="";
您正在尝试比较字符串文字和字符 - 这是不可接受的
char
*change(char *str) {
int i, len;
len = strlen(str);
for (i=0; i < len; i++){
if (str[i] == '\n') {
str[i] = ' ';
}
}
return str;
}
这里*change(strfromfile)不需要。此外,您似乎忘记了声明char *finalstring,但您声明
char finalstring并分配了一个指向它的指针,这是不可接受的。
if (part == TRUE) {
char finalstring; //this is troublesome
finalstring = *change(strfromfile); //this is trouble some
printf("\n%s", finalstring);
}
return 0;
}
change to
if (part == TRUE) {
char *finalstring;
finalstring = change(strfromfile);
printf("\n%s", finalstring);
}
return 0;
}
我希望这已经足够了。从下一次开始尝试发布整个可编译代码而不是片段。简短的自包含代码示例 (SSCCE)。