티스토리 뷰
파일 입출력
FILE *fp = NULL;
char ch = 0;
char str[100] = {0};
1. 파일 열기
fopen_s(&fp, "text.txt", "r"); // 읽기 모드로 열기
if(fp==NULL) {
// 에러 메시지 출력
}
fclose(fp); // 파일 닫기
2. 파일로부터 한 글자 읽기
ch = fgetc(fp);
3. 파일로부터 한 줄(한 문자열) 읽기
fgets(str, sizeof(str), fp);
4. 파일에 한 글자 쓰기
fputc(ch, fp);
5. 파일에 문자열 쓰기
fputs(str, fp);
응용 예제
1. 파일로부터 한 글자씩 읽어 콘솔에 출력하기
while((ch=fgetc(fp)) != EOF) {
putchar(ch);
}
2. 파일로부터 한 글자씩 읽어 다른 파일에 출력하기
FILE* fp2 = NULL;
fopen_s(&fp2, "text2.txt", "r");
while((ch=fgetc(fp)) != EOF) {
fputc(ch, fp2);
}
3. 파일로부터 한 줄씩 읽어 콘솔에 출력하기
while(fgets(str, sizeof(str), fp) {
fputs(str, stdout);
}
4. 파일로부터 한 줄씩 읽어 다른 파일에 출력하기
while(fgets(str, sizeof(str), fp) {
fputs(str, fp2);
}
5. 콘솔로부터 한 글자씩 입력해 파일에 출력하기
while((ch=getchar()) != EOF) { // ctrl+Z 누르면 입력 종료
fputc(ch, fp);
}
6. 콘솔로부터 한 줄(한 문자열)씩 입력해 파일에 출력하기
while(fgets(str, sizeof(str), stdin)) {
fputs(str, fp);
}
반응형
'C, C++' 카테고리의 다른 글
[C언어] LCS-LENGTH Top-down Memoization (0) | 2020.11.19 |
---|---|
[C++] 10진수를 16진수로 변환하기 (0) | 2020.05.16 |
[C++] int를 binary로, binary를 int로 변환하기 (0) | 2020.05.10 |
[C] 숫자 형태의 문자열을 8진수로 변환하기 (0) | 2020.05.04 |
[C, C++] raw 파일 읽고 쓰기, 역상으로 변환하기 (0) | 2020.04.15 |
댓글