1.警告 C6054 可能没有为字符串“str”添加字符串零终止符。
char str[100];
scanf_s("%s", str, 100);
fprintf(fp, str);
这里应该对c进行初始化
char str[100] = {0};
这样警告就消失了。
2.警告 C6387 “fp”可能是“0”: 这不符合函数“fprintf”的规范。
char str[100] = {0};
scanf_s("%s", str, 100);
fprintf(fp, str);
这里的警告是因为没有做判空处理
char str[100] = {0};
scanf_s("%s", str, 100);
if (fp == NULL) {
return -1;
}
fprintf(fp, str);
这样警告就消失了。
3.scanf_s输入字符串包含空格时,会只输出到空格之前
char str[100] = {0};
scanf_s("%s", str, 100);
这里的解决方案是使用gets_s
char str[100] = {0};
gets_s(str, 100);
这样就可以正常输入空格了。
4.循环输出文件内容
while (fgets(str, 100, fp) != NULL) {
printf("text is %s", str);
}
这样就OK了。