728x90
728x90
파일 처리의 흐름
파일 포인터를 준비, 파일을 열기, 읽고 쓰기, 파일을 닫기
C 파일포인터
파일 스트림을 가리키는 포인터. 파일스트림.
파일포인터 : 하드디스크에서 메모리로 읽어들일 화일의 `위치 주소` 및 `버퍼링`에 대한 추상화된 정보를 가지고 있는 포인터
파일열기 : fopen()
파일을 못열면 NULL 반환
파일닫기 : fclose()
FILE* fp;
fp = fopen("abc.txt", "w"); // w / r / a : 쓰기 읽기 추가로 쓰기
if (fp == NULL) return;
fclose(fp);
파일쓰기 : fprintf()
fprintf(fp, "%s", a);
// 포인터명, 서식, 문자열배열명
파일 읽기 : fgets()
파일에서 문자열을 한 줄씩 읽어들임
fgets(s, 29, fp);
// 읽어온값을 저장할 문자열배열명, 읽어들일 최대 문자수, 파일포인터명
파일의 끝 : feof()
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
main()
{
FILE* fp;
char s[256];
int i = 1;
fp = fopen("abc.txt", "r");
if (fp == NULL) {
return;
}
while (feof(fp) == 0) {
fgets(s, 255, fp);
printf("%04d: %s", i, s);
i++;
}
fclose(fp);
}
예시
#define _CRT_SECURE_NO_WARNINGS // fopen 보안 경고로 인한 컴파일 에러 방지
// include 위에 넣어야 한다.
#include <stdio.h>
main()
{
FILE* fp;
char a[] = "Cats and dogs.", s[30];
// 파일 쓰기 프로그램
fp = fopen("abc.txt", "w"); // write
if (fp == NULL) return;
fprintf(fp, "%s", a);
fclose(fp);
// 파일 읽기 프로그램
fp = fopen("abc.txt", "r"); // read
if (fp == NULL) return;
fgets(s, 29, fp);
printf("%s\n", s);
fclose(fp);
}
int main 이랑 void main이랑 main이랑..차이점
https://coding-restaurant.tistory.com/432
C언어 출력타입 %d, %f, %e, %o, %x, %u, %g ......
- %d: 10진수(정수형)
- %f: 실수형
- %e: 지수형
- %o: 8진수
- %x: 16진수
- %u: 부호없는 10진수
- %g: 실수형 자동출력
- %p: 포인터의 주소
- %c: 하나의 문자로 출력
- %s: 문자열
출처: https://byunggni.tistory.com/48 [띵돌이의 블로그]
728x90
728x90
'C, C++' 카테고리의 다른 글
메인 함수(엔트리포인트) (0) | 2021.09.08 |
---|---|
strcmp, strncmp - 두 문자열 일치 비교, 길이 특정 (0) | 2021.09.08 |
[C] strcpy, strncpy (0) | 2021.08.27 |
c++ define 함수 (0) | 2021.05.26 |
[공유] C++ (0) | 2021.05.12 |