#include <stdio.h>
int main() {
FILE *fout, *fin;
char name[20]="ABC DEF", tel1[20]="123 456", tel2[20]="456 789", memo[50]="good days";
char namex[10][20], tel1x[10][20], tel2x[10][20], memox[10][50];
char buf[100], x, y;
int i;
fout=fopen("1.txt", "w");
for(i=0;i<10;++i)
fprintf(fout,"%s//%s//%s//%s %d\n",name,tel1,tel2,memo,i+1);
fclose(fout);
fin=fopen("1.txt", "r");
i=0;
while(fgets(buf,100,fin)!=NULL) {
//printf("%s", buf);
sscanf(buf, "%[^/\n]%c%c%[^/\n]%c%c%[^/\n]%c%c%[^/\n]",
namex[i],&x,&y,tel1x[i],&x,&y,tel2x[i],&x,&y,memox[i]);
printf("%s // %s // %s // %s\n", namex[i],tel1x[i],tel2x[i],memox[i]);
i=i+1;
}
fclose(fin);
return 0;
}
위의 프로그램이 이해하기가 어렵다는 지적이 있었읍니다.
#include <stdio.h>
int main() {
FILE *fout, *fin;
char name[20]="ABC DEF", tel1[20]="123 456", tel2[20]="456 789", memo[50]="good days";
char namex[10][20], tel1x[10][20], tel2x[10][20], memox[10][50];
char buf[100];
int i, j, k;
fout=fopen("1.txt", "w");
for(i=0;i<10;++i)
fprintf(fout,"%s//%s//%s//%s %d\n",name,tel1,tel2,memo,i+1);
fclose(fout);
fin=fopen("1.txt", "r");
i=0;
while(fgets(buf,100,fin)!=NULL) {
//printf("%s", buf);
j=0;k=0;
while(buf[j]!='/') namex[i][k++]=buf[j++]; namex[i][k]=0;
j=j+2;k=0;
while(buf[j]!='/') tel1x[i][k++]=buf[j++]; tel1x[i][k]=0;
j=j+2;k=0;
while(buf[j]!='/') tel2x[i][k++]=buf[j++]; tel2x[i][k]=0;
j=j+2;k=0;
while(buf[j]!='\n') memox[i][k++]=buf[j++]; memox[i][k]=0;
printf("%s // %s // %s // %s\n", namex[i],tel1x[i],tel2x[i],memox[i]);
i=i+1;
}
fclose(fin);
return 0;
}
'c·c++ > c 프로그래밍' 카테고리의 다른 글
배너 옮기기 (0) | 2012.05.30 |
---|---|
테일러 급수를 사용해서 파이 의 근사치를 구하기. (0) | 2012.05.29 |
A부터 Z까지 출력과 지우기를 무한반복하기 (0) | 2012.05.25 |
정수의 점화식 (0) | 2012.05.25 |
c언어 입력받은 초를 일/시간/분/초로 환산하기 (0) | 2012.05.25 |