without haste but without rest

[C] 파일 읽고 쓰기 본문

ProgrammingLanguage/C

[C] 파일 읽고 쓰기

JinungKim 2020. 2. 29. 19:12
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