without haste but without rest
[C] 파일 읽고 쓰기 본문
Reference - C언어 코딩도장
1. 서식 지정해서 문자열 쓰기
- fprintf
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
FILE* fp = fopen("hello.txt", "w");
fprintf(fp, "%s %d\n", "Hello", 123);
fclose(fp);
return 0;
}
* r, w, a 옵션 등은 다른 언어들과 같다.
* 파일을 포인터로 얻어서 fprintf에 값으로 전달한다.
2. 서식 지정해서 문자열 읽기
- fscanf
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char s1[10];
int num1;
FILE* fp = fopen("hello.txt", "r");
fscanf(fp, "%s %d\n", s1, &num1);
printf("%s %d\n", s1, num1);
fclose(fp);
return 0;
}
3. 파일에 문자열 쓰기
- fputs
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
FILE* fp = fopen("hello.txt", "w");
fputs("Hello, World!", fp);
fclose(fp);
return 0;
}
- fwrite (쓰기 횟수 지정 가능)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char* s1 = "Hello, Wolrd!";
FILE* fp = fopen("hello.txt", "w");
fwrite(s1, strlen(s1),1, fp);
fclose(fp);
return 0;
}
4. 파일에서 문자열 읽기
- fgets (줄바꿈까지만 읽음)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char buffer[20];
FILE* fp = fopen("hello.txt", "r");
fgets(buffer, sizeof(buffer), fp); // fgets(buffer, sizeof(buffer), stdin)
printf("%s\n", buffer);
fclose(fp);
return 0;
}
- fread (줄바꿈까지 읽음)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char buffer[20] = { 0, };
FILE* fp = fopen("hello.txt", "r");
fread(buffer, sizeof(buffer), 1, fp); // 버퍼, 읽기크기, 읽기횟수, 파일포인터
printf("%s\n", buffer);
fclose(fp);
return 0;
}
'ProgrammingLanguage > C' 카테고리의 다른 글
[C] srand(time(NULL)) 의 의미 (1) | 2020.04.09 |
---|---|
[C] 매크로 (0) | 2020.02.29 |
[C] 열거형 (0) | 2020.02.29 |
[C] 공용체 (0) | 2020.02.29 |
[C] 구조체 (0) | 2020.02.27 |
Comments