일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 |
30 | 31 |
- write
- File
- window
- mutex
- Linux
- 영화
- C
- windows
- Sync
- 리뷰
- 책
- GO 언어
- range
- FOR
- http
- Python
- Golang
- tcp
- Close
- package
- go
- install
- json
- c++
- go언어
- JavaScript
- channel
- Callback
- bitcoin
- API
- Today
- Total
목록c++ (10)
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)..