fscanf() 处理空格的技巧
在使用 fscanf() 读取包含空格的文本时,可以通过以下技巧解决遇到的问题:
- 使用
%*c
跳过空格:在读取目标数据之前,使用fscanf(fpr, "%*c", s);
跳过前导空格。 - 使用
scanf(" %s")
:在读取操作中,在格式字符串前面添加空格,以指示读取包含空格的数据。
示例代码:
#include
int main() {
FILE *fpw = fopen("data1.txt", "w");
if (fpw == NULL) {
return 0;
}
char s[20];
gets(s);
fprintf(fpw, "%s", s);
fclose(fpw);
FILE *fpr = fopen("data1.txt", "r");
if (fpr == NULL) {
return 0;
}
fscanf(fpr, "%*c%s", s); // 跳过空格再读取字符串
puts(s);
getchar();
fclose(fpr);
return 0;
}
这样,输入 "big baby" 时,输出将为 "big baby"。
11.43KB
文件大小:
评论区