본문 바로가기
VisualStudio.C++.C#/C . C++

C/C++. 윈도우. 파일 저장, 읽기 . FILE . fopen, fprintf, fscanf

by 리치굿맨 2020. 3. 29.

 

파일 저장하기 

void save_file()
{
	FILE* fp; 
    float mydata[100]; 
    
	fp = fopen("test.txt","w"); //  파일열었음.인자1 파일명. 인자2 w 의미 기록용도. 

	for (int idx = 0; idx < 100; idx++)
	{
		fprintf(fp, "%f\n", mydata[idx]);
	}


	fclose(fp);

}

 

파일 읽기 

void read_file()
{
	FILE* fp; 
    float mydata[100]; 
    
	fp = fopen("test.txt","r"); //  파일열었음.인자1 파일명. 인자2 r 의미 읽기용도. 

	for (int idx = 0; idx < 100; idx++)
	{
		fscanf(fp, "%f\n", &mydata[idx]);
	}


	fclose(fp);

}

/// 문자열 한 줄 읽기 코드예. 

char buf[100]; // 실제 파일에 기록된 문자열보다 크게 설정할것. 
fgets(buf,100,fp); 

// 참고. 
fscanf(fp, "%s", buf); // 문자열의 공백 , 개행문자 단위로 잘라서 읽기 처리하므로 범용적인 줄단위 읽기로 사용하기 안좋음. 


 

 

fscanf 

- 공백 있는 문자열 개행문자까지 모두 읽기 등 

 

[^\n] 의미 개행문자 \n 전까지 읽어라는 의미. 

 

[^:] 이렇게 했다면 콜론 나오기 전까지 읽어라는 의미. 

 


char buf[100];

fscanf(fp,"%s\n", buf); // 문자열에 공백이 있는 경우 개행문자까지 못읽고 공백에서 잘라서 읽게됨. 

fscanf(fp,"%[^\n]\n",buf); // ^\n 에 의해 문자열에 공백이 있어도 개행문자 전까지 모두 다읽는다.

 

 

 

 

 


첫 등록 : 2020.03.29

최종 수정 : 2022.04.06

단축 주소 : https://igotit.tistory.com/2516

 


 

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT