C++ 为什么fscanf在读取字符时失败?
我有以下名为“data.txt”的示例数据文件: 我希望看到:C++ 为什么fscanf在读取字符时失败?,c++,scanf,C++,Scanf,我有以下名为“data.txt”的示例数据文件: 我希望看到: a b c a b c 出了什么问题?您没有跳过读取的第三个和第四个字符之间的空格-您需要在其中一个格式字符串中添加另一个空格 (为什么在C++中代码> fSCANF?)/P>有意义和工作!谢谢fstream不是比fscanf慢很多吗,因为它涉及到一个围绕C的基本fscanf实现的包装器?不一定。简洁和类型安全有时更重要。 #include <iostream> #include <string> #inc
a b c
a b c
出了什么问题?您没有跳过读取的第三个和第四个字符之间的空格-您需要在其中一个格式字符串中添加另一个空格
(为什么在C++中代码> fSCANF?)/P>有意义和工作!谢谢fstream不是比fscanf慢很多吗,因为它涉及到一个围绕C的基本fscanf实现的包装器?不一定。简洁和类型安全有时更重要。
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std;
int main()
{
char a,b,c;
FILE* fin = fopen("data.txt","r");
fscanf(fin,"%c %c %c",&a,&b,&c);
cout<<a<<" "<<b<<" "<<c<<endl;
fscanf(fin,"%c %c %c",&a,&b,&c);
cout<<a<<" "<<b<<" "<<c<<endl;
fclose(fin);
return 0;
}
a b c
a b
a b c
a b c