코딩테스트 Intro/C
[C언어] 파일 입출력 함수의 기본
아기사우르스
2023. 4. 13. 11:58
728x90
chapter21
int fputc(int c, FILE *stream); // 문자 출력
int fgetc(FILE*stream); // 문자 입력
int fputs(const char*s, FILE*stream); // 문자열 출력
char *fgets(char*s, int n, FILE*stream); // 문자열 입력
당시에는 매개변수 stream에 stdin 또는 stdout을 인자로 전달하여 콘솔을 대상으로 입출력을 진행하였지만, 위의 함수들은 FILE 구조체의 포인터를 인자로 전달하여 파일을 대상으로 입출력을 진행할 수 있는 함수들이다.
문자 2개 쓰고 했으면 문자 2개를 먼저 읽고 그 다음에 다른 프로세스를 한다.
즉, write 순서대로 read 해야 한다.
int main(void) {
FILE*fp=fopen("simple.txt", "wt");
if(fp==NULL) {
puts("파일 오픈 실패!");
return -1;
}
fputc('A', fp); // 문자 A와 B가 fp가 가리키는 파일에 저장
fputc('B', fp);
fputs("My name is Hong\n", fp);
fputs("Your name is Yoon\n", fp);
fclose(fp);
return 0;
}
int main(void) {
char str[30];
int ch;
FILE*fp=fopen("simple.txt", "rt");
if(fp==NULL) {
puts("파일 오픈 실패!");
return -1;
}
ch=fgetc(fp);
printf("%c \n", ch);
ch=fgetc(fp);
printf("%c \n", ch);
fgets(str, sizeof(str), fp); // \n을 만날 때 까지 read
printf("%s, str);
fgets(str, sizeof(str), fp); // \n을 만날 때 까지 read
printf("%s, str);
fclose(fp);
return 0;
}
728x90