#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#define ARRAY_MAX 100
int main() {
FILE *input, *output;
char *token[100];
char buf[100];
int count = 0;
input = fopen("/Users/home/Desktop/test.txt", "r");
output = fopen("/Users/home/Desktop/test2.txt", "w");
while (fgets(buf, sizeof(buf), input) != NULL) {
token[count] = strtok(buf, "\n");
++count;
}
for (int i = 0; i<count; i++) {
printf("%s\n", token[i]);
}
printf("%d\n\n" ,count);
return 0 ;
}
이 코드를 실행하면 내가받을 오히려배열이 제대로 증가하지
라인 3
라인 3
라인 3
같은 출력 결과를 얻는 것보다
줄 1
,라인이
라인 3
얼마나 내가 일을 잘못?
귀하의 의견을 게시하시기 바랍니다 : 당신이해야 할 것은 읽을 때마다 새로운 라인을위한 메모리를 할당하고 새로 할당 된 메모리에 내용을 버퍼의을 복사합니다. –
'token [count] = strtok (buf, "\ n");' "string"-token을 복사하지 않습니다. – alk
입력에 100 개 이상의 행이 포함되어 있으면 어떻게됩니까? – user3629249