작은숲:위키노트/C 언어 예제/입력받은 값을 이진 파일에 저장: 두 판 사이의 차이
보이기
잔글 문자열 찾아 바꾸기 - "분류:공유" 문자열을 "분류:위키노트/공유" 문자열로 |
잔글 문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로 |
||
| 1번째 줄: | 1번째 줄: | ||
< | <syntaxhighlight lang="c"> | ||
/** | /** | ||
* Copyright (c) 2001,2002 Yoon, Hyunho <hhyoon@kldp.org> | * Copyright (c) 2001,2002 Yoon, Hyunho <hhyoon@kldp.org> | ||
2021년 3월 28일 (일) 12:51 판
<syntaxhighlight lang="c"> /**
* Copyright (c) 2001,2002 Yoon, Hyunho <hhyoon@kldp.org> * http://mooo.org * ---------------------------------------------------------------------- * * LICENSE * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
- include <stdio.h>
- include <stdlib.h>
- define NUM 3
typedef struct rec { char name[20];
int num;
} REC; void main() { int i, j;
FILE *fp;
REC stud[NUM];
if ((fp = fopen("name.txt", "wb")) == NULL) {
puts("Cannot open the file to write!");
exit(1);
}
for (i = 0; i < NUM; i++) {
scanf("%s %d", stud[i].name, &stud[i].num);
fwrite(stud[i].name, sizeof(stud[i].name), 1, fp);
fwrite(&stud[i].num, sizeof(stud[i].num), 1, fp);
}
fclose(fp);
if ((fp = fopen("name.txt", "rb")) == NULL) {
puts("Cannot open the file to read!");
exit(1);
}
for (j = 0; j < i; j++) {
if (fread(stud[j].name, sizeof(stud[j].name), 1, fp) != 1) break;
if (fread(&stud[j].num, sizeof(stud[j].num), 1, fp) != 1) break;
printf("%20s: %d\n", stud[j].name, stud[j].num);
}
fclose(fp);
}</source>