텍스트 파일 (한 줄에 한 줄씩)에서 문자열을 읽고 크기별로 정렬하려고합니다. ,C - 텍스트 파일에서 문자열 읽기 및 크기로 배열
void readDic(char* file)
{
FILE* fr;
fr=fopen(file, "rt"); // opening the text file
char line[MAX_LINE_SIZE];
char* word;
while(fgets(line, MAX_LINE_SIZE, fr)!=NULL)
{
if(line[0]!='\n')
{
word = strtok(line, "\n"); //remove the newline from the string
// do stuff with word
}
}
fclose(fr);
}
이 코드의 코드가 실행되지만, 내가 읽은 모든 문자열, 마지막 하나를 제외하고 파일의보다 하나의 크기와 함께 제공 :
이 내 코드입니다.
예를 들어, 문자열 "hello"의 strlen은 파일의 마지막 줄을 제외한 임의의 위치에서 6을 반환합니다. 파일의 마지막 줄에있는 경우 strlen은 5를 반환합니다.
잘못된 것이 있습니까?
더 많은 코드가 필요합니다. 귀하의 예는 단어의 길이를 결정하는 방법을 보여주지 않습니다. – JohnH
'strlen (x)','x'가 "hello"가되어야하는 경우, 6을 반환한다면, 6 번째 문자가 무엇인지를 확인하는 것이 좋습니다. '\ r'와 같은 것일 수도 있습니다. (추가 반영 : * first * 위치에있을 수도 있습니다.) – usr2564301