0
사전 파일을 한 줄씩 읽고 각 줄을 가져 와서 문자열과 비교합니다. 내 문제는 공백을 제거하기 위해 모든 줄에 문자열의 길이를 동적으로 할당하는 방법을 모른다는 것입니다.사전 파일을 한 줄씩 읽는 것은 공백이 많은 문자열을 사용합니다.
FILE *f;
f = fopen("/usr/share/dict/words", "r");
if (f != NULL)
{
// maximum size of line, keep it at 128 just in case
char line[128] = "";
// run through every line of file
while (fgets(line, sizeof(line), f))
{
if (strcmp("hello", line) == 0)
printf("The string is %s!", line);
}
}
그래서 내가 어떤 라인의 최대 길이를 적용하려면 "라인"변수를 초기화해야한다 : 당신이 내 코드를 본 후에 나는 이것을 설명 할 것이다. 줄의 길이가 128보다 작 으면 끝 부분에 공백을 추가하기 때문에 잘못된 비교가됩니다. 어떻게 변경합니까?
어떻게 해결해야합니까? 또한 버퍼를 사용하는 더 좋은 방법이 있습니까? – Ray
답변을 수정하십시오. "더 나은 방법"이란 무엇을 의미합니까? 그것이 사용되는 방식은 좋습니다. –
오, 알겠습니다. 그냥 궁금해. – Ray