저는 C를 처음 접했기 때문에 세분화 오류가 발생하지 않았으므로이를 얻을 수 없습니다. 여기 C에서 stdio.h를 사용하여 단어별로 파일 단어를 읽으려면 어떻게해야합니까?
지금까지 내 생각 : 이nextWord
기능에
#include<stdio.h>
#include<string.h>
char *nextWord(FILE *stream) {
char *word;
char c;
while ((c = (char)fgetc(stream)) != ' ' && c != '\n' && c != '\0') {
strcat(word, &c);
}
return word;
}
int main() {
FILE *f;
f = fopen("testppm.ppm", "r");
char *word;
word = nextWord(f);
printf("%s",word);
}
strcat는 원하는 것이 아닙니다. Chris의 조언을 따르고 실제 버퍼를 가리키는 단어를 가지고 나면 단어 [i ++] = c; (또는 일반적으로 * word ++ = c이고 버퍼의 시작을 추적하는 또 다른 포인터가 있습니다.) –