728x90
반응형
파일에 문자열을 쓰는 세개의 함수가 있다.
fputs 예제
#include <stdio.h>
int main(void)
{
FILE *txt;
txt = fopen("C:\\dodol.txt", "w+");
if(txt == NULL)
{
printf("파일을 생성할 수 없음.");
}
else
{
fputs("Dodol", txt);
fclose(txt);
}
}
fwrite 예제
#include <stdio.h>
int main(void)
{
FILE *txt;
char *str = "Dodol is Doddle";
txt = fopen("C:\\dodol.txt", "w+");
if(txt == NULL)
{
printf("파일을 생성할 수 없음.");
}
else
{
fwrite(str, 1, strlen(str), txt);
fclose(txt);
}
}
fprintf 예제
#include <stdio.h>
int main(void)
{
FILE *txt;
char c = 'G';
int d = 777;
txt = fopen("C:\\dodol.txt","w+");
if(txt != NULL)
{
fprintf(txt,"dodol %c %d",c,d);
fclose(txt);
}
}
fwrite함수가 fputs함수와 다른 점은 바이너리 모드로 파일을 개방하면 NULL값을 쓸 수 있다.
fwrite(문자열, size, count, 파일명)
fwrite은 주로 이진(binary) 파일을 처리할 때 사용하고, 블록 단위의 데이터를 쓸 때 유용하다.
\0을 만나더라도 상관없이 계속 출력을 한다.
fprintf은 \0을 만나면 출력을 종료한다.
fprintf은 ascii형태로 1바이트마다 저장을 하여 메모리를 많이 잡아먹는다.
하지만 fwrite은 1바이트에 2개씩 저장을 하여 메모리를 아낄 수 있다.
728x90
반응형
'💻 소프트웨어(SW) > C' 카테고리의 다른 글
| 1-2. 컴파일러 비주얼 스튜디오 2017 설치해보자! (0) | 2018.08.12 |
---|---|
| 1-1. 컴파일러 Dev-C++ 설치해보자! (0) | 2018.08.10 |
| 1. 컴파일러를 설치해보자! (0) | 2018.08.09 |
| 0 . C언어가 도대체 뭐야? (0) | 2018.08.07 |