도와주세요!!
글 수 15,339
2011.04.03 06:34:07 (*.235.186.23)
20210
#include <stdio.h>
#include <string.h>
int main() {
FILE *infile;
char buffer[100];
infile = fopen ("cars" , "r");
while( fgets (buffer , 100 , infile)!=NULL)
{
printf ("%s",buffer);
}
fclose (infile);
}
fgets로 파일에 있는 데이타를 그대로 버퍼에 저장한후에 출력해보았습니다.
밑에 있는게 출력된 형식이고..
Car Run1 Run2 Best
Jaguar 80 82 80
Ferrari 65 63 63
Lotus 87 87 87
Porsche 85 90 85
Ave xxxx xxxx xxxx
저 데이타들을 다른 변수에 집어넣고싶은데..
예를 들어, arr[10][10][10] 이런 변수속에 차례대로 0,0 0,1 0,2 0,3 이렇게 데이터를 하나하나 읽고 싶은데
어떤 방법을 쓰면 되지요?
-----------------------------------------------------------------------------------------------------------
#include<stdio.h>
#include <string.h>
int main()
{
FILE *inf,*outf;
inf=fopen("cars","r");
outf=fopen("test","w");
char arr[6][4][11];
int i,j;
for (i=0;i<6;i++){
for(j=0;j<4;j++){
fscanf(inf,"%10s",&arr[i][j]);
fprintf(outf,"%s ",arr[i][j]);
}
fprintf(outf,"\n");
}
fclose(inf);
fclose(outf);
}
이 소스는 fgets 말고 그냥 바로 배열로 집어넣은후에 파일로 출력되게 한건데..
문제는 6번째 라인에 빈 공백라인이 하나 있는데 그걸 읽지못하고 바로 출력해버리네요
공백부분을 출력되게 하려면 어떻하지요?
출력파일...
Car Run1 Run2 Best
Jaguar 80 82 80
Ferrari 65 63 63
Lotus 87 87 87
Porsche 85 90 85
Ave xxxx xxxx xxxx
출력할때 그냥 puts() 이용하면 안되나요?ㅋ