외부 파일에서 텍스트를 읽는 프로그램을 작성하려고합니다 (줄마다 문자열 string int). 구조체는 주요 기능의 외부 정의된다c, struct 사용시 문제점
typedef struct Person {
char fname[15];
char lname[20];
unsigned long int birth;
} clovek;
I 라인마다 데이터를 덮어 쓸 수와 같이 배열 될 "clovek"을 필요로하지 않는다. 라인과 버퍼링 빨간색 :
fgets(buffer, 50, datafile);
그럼 내가 구조체로 구문 분석하고 싶지만 내 문제가 발생 곳은 다음과 같습니다
int i = 0;
while (buffer[i] != ' ') {
clovek.fname[i] = buffer[i];
i++;
}
을 그리고 이것은 오류가 날 수 있습니다 : 예상 식별자 또는 '('전에 나는 또한 디버깅이 코드를 사용하고 싶어하지만, 그것뿐만 아니라 다른 오류를 제공
토큰 '.':
printf("fname, %s\n", clovek.fname);
을
오류 : 'clovek'앞에 예상되는 표현
내 생각에 구조체를 사용하여 완전히 오해 한 것 같습니다.
답변 중 하나를 제외하고는 사람들이 매우 기본적인 C 구문을 잘못 가져올 수있는 또 다른 무서운 예를 제공합니다. –
구조체에서 복잡성, 요소 정렬의 또 다른 문제를 추가하겠습니다. Google은 귀하의 친구입니다. – KevinDTimm
버퍼 오버 플로우가 일어나기를 기다리는 것은 물론이고 struct Person의 멤버를 C 문자열로 쓸모 없게 만드는 nul 터미네이션이 없다는 것을 말할 필요도 없습니다. – RBerteig