0
나는 다음과 같은 샘플 데이터 파일 제목했다 "data.txt로"문자를 읽는 동안 fscanf가 작동하지 않는 이유는 무엇입니까?
a<tab>b<tab>c<newline>
a<tab>b<tab>c<newline>
다음과 같은 코드 :
#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
무엇이 잘못 되었나요?
의미가 있으며 작동합니다! 감사! fstream은 fscanf보다 훨씬 느리지 않습니까? fscanf는 C의 기본 fscanf 구현을 감싸는 래퍼를 포함하고 있기 때문에 fscanf보다 훨씬 느립니다. – vervenumen
필요는 없습니다. 간결성과 유형 안전은 때로는 더 중요합니다. –