2014-12-25 2 views
0
int main(){ 

FILE *file = fopen ("C:\\input.txt", "r"); 
int i=0, j=0, k=0; 

char *result[10][10]; 
char line[100];  
char *value; 
char *res[100][100]; 

for(i=0; i<=9; i++){   
    for(j=0;j<=9;j++){ 
     result[i][j] = NULL; 
    } 
} 

while(fgets(line, sizeof(line), file)){ 
    char *array=strtok(line,"\n"); 
    res[0][0]=strdup(array); 

    printf("\n\n\n %s RES \n",res[0][0]); 
    array=strtok(array,"\n"); 
    res[0][1]=strdup(array); 

    printf("\n\n\n %s RES \n",res[0][1]); 
    array=strtok(line,"\n"); 
    res[0][2]=strdup(array); 
} 

줄 단위로 txt 파일에 배열을 저장하고 싶습니다. 입력 파일에는 행 수가 3 개 있습니다. 모든 행을 배열로 저장하고 싶습니다. 어떻게해야합니까? 이것은 항상 첫 번째 요소를 저장합니다. strtok을 사용하여 배열 저장

내 입력 파일 :

George :Math1,History2,Math2 
ELizabeth :Math2,Germany1,spanish1 
Adam  :Germany1,History2,Math1 
+0

이 항상 입술에 저장되어 [] [] 동일한 thin : 첫 번째 줄은 항상 – joseph

+0

배열의 입력 파일에 모든 줄을 저장하고 싶습니다. 예를 들어 res [0] [0] = "George : Math1, History2, Math2"res [0] [1] = ELizabeth : Math2, Germany1, spanish1 and res [0] [2] = Adam : Germany1 , History2, Math1 @giorgim – joseph

+0

''\ n "'을'strtok()'에 전달하는 아이디어는 정확히 무엇입니까? 참조 용 : http://man7.org/linux/man/pages/man3/strtok.3.html – alk

답변

0

배열로 그 세 줄을 읽기 위해이 같은 간단한 사용하지 않는 이유 :

char res[100][100]; 
int i =0; 
while(fgets(line, sizeof(line), file)){ 
     strcpy(&res[i][0],line); 
     printf("%s \n",&res[i][0]); 
     i++; 
} 
+0

당신에게 진실을 고맙다. – joseph

관련 문제