일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- go
- write
- 책
- JavaScript
- tcp
- C
- Sync
- window
- channel
- API
- Close
- Python
- mutex
- windows
- 영화
- GO 언어
- 리뷰
- Callback
- json
- go언어
- install
- http
- bitcoin
- range
- c++
- Golang
- FOR
- Linux
- File
- package
- Today
- Total
목록fopen (3)
Code Habit
파일을 I/O를 활용하여 리스트 정보(고객 명단 등)를 간단하게 로컬에 저장하고 읽고 싶을 때 fgets/fputs 함수를 사용하면 쉽게 구현할 수 있다. fputs 함수로 파일에 한줄 단위로 문자열을 저장하고 저장된 문자열을 줄별로 다시 fgets 함수로 읽어 들일 수 있다. 참고로 필자는 개발한 프로그래밍의 블랙리스트 명단을 로컬에 저장하고 읽어들이기 위해 위의 함수들을 활용하였다. 예제이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include int main(void) { // 파일 쓰기모드 생성/열기 FILE *fp = fopen("test.txt", "w"); if (NULL == fp) { return -1; } fputs("1 line\n", fp); ..
c언어 함수인 fopen을 이용해 파일을 열고 파일의 크기를 먼저 구한 후 크기만큼 파일을 읽는 예제이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 int main(void) { char* buffer; int size; int count; FILE *fp = fopen("test.txt", "r"); if (NULL == fp) { return -1; } fseek(fp, 0, SEEK_END); // 파일 포인터를 파일의 끝으로 이동시킴 size = ftell(fp); // 파일 포인터의 현재 위치를 얻음 => 파일 사이즈 buffer = new char[size+1]; // 파일 크기 + 1바이트(문자열 마지막의 NULL)..
개발을 하다보면 서버 로그를 남기거나 디버깅을 기록할 때 파일을 활용할 수 있다. 다음 함수들로 파일을 사용할 수 있다. 파일 열기 - mode에 따라 스트림과 파일을 연결하고 파일 포인터를 반환한다. FILE* fopen( const char* filename, const char* mode ); 파일 쓰기 - 파일 포인터로 연결된 스트림에 string 문자열을 쓴다. int fputs( const char *string, FILE* stream ); 파일 닫기 - fopen으로 획득한 유효한 파일포인터를 stream에 넘겨 파일을 닫는다. 스트림에 남은 버퍼를 플래시 하는 역할도 한다. int fclose( FILE* stream ); 예제 ) FILE* pfile = NULL; file = fope..