Nami 의 공부방 139

구조체 를 파일에 입력 및 출력 하기

#include #include #include typedef struct _node { int num; char name[255]; int height; }node; // 간단한 구조제 배열의 작성 int main(void) { node wr,re; // 읽고 쓰기를 위한 변수( 두개의 변수가 필요하진 않음) FILE *in,*out; //파일 입출력을 위해 파일 포인터 memset(&wr,0,sizeof(node)); memset(&re,0,sizeof(node)); // 구조체 배열의 초기화, 필요함.. wr.num=48; strcpy(wr.name,"송은남"); wr.height = 175; //구조체 변수에 간단히 입력 in=fopen("test1.txt","wt+"); //바이너리 파일로 쓰기..

fprintf 와 fscanf 사용하기 !!!

fprintf 의 매개변수는 파일 포인터 , 출력 형식 , 인자 값 예로 fprintf(f,"%d %f %s",i,d,str); 로 선언 하면 된다 ^^ 이 fprintf는 파일로 출력하는 함수이다 . fscanf의 매개변수는 파일 포인터 , 출력 형식, 인자 값의 주소 예로 fscanf(f,"%d %lf %s",&i,&d,&str); 로 선언하면 된다. 이렇게 fprintf 와 fscanf 는 파일에 공백으로 구분되어 나란히 저장된다 .

fread 와 fwrite 이용 하기 및 fgets 와 fputs 와의 차이점

fread 함수는 매개변수로 버퍼,몇 바이트씩 읽을것인지,몇개 읽을 것인지, 파일 포인터 이다. ex) #include #include int main() { FILE *Test=0,*Test2 = 0; char buffer[1000] = {0,}; char * freadData = 0; int i = 0; int count = 0; Test = fopen("book.txt","r+t"); Test2 = fopen("book2.txt","w+t"); for(;!feof(Test);) { count++; i = fread(buffer,1,1000,Test); //fgets(buffer,1000,Test); printf("실제 내용 : %d \n",i); // if(freadData == NULL) brea..

fgets / fputs 사용하기 !!!

#include #include int main() { FILE *Test=0,*Test1 = 0; char buffer[1000] = {0,}; char * freadData = 0; int i = 0; Test = fopen("book.txt","r+t"); Test1 = fopen("book1.txt","w+t"); for(;;) { freadData = fgets(buffer,1000,Test); if(freadData == NULL) break; i = fputs(buffer,Test1); } return 0; } 이 소스는 한 파일에서 읽기 쓰기 권한으로 파일을 오픈하고 다른 파일에서는 파일이 존재 하지 않으면 생성하여 읽기 쓰기로 오픈 한다. 그리고 fgets 함수를 이용하여 버퍼로 Test..

file open 과 fileclose 에 대해서

우선 file open에 대해서 알아 보겠습니다. fopen(const char * filename, const char * mode) 형식을 갖추고 있다. 리턴 값으로는 파일을 지정한 모드로 열고 입출력에 필요한 FILE 구조체를 생성한 후 그 포인터를 리턴 에러가 발생하면 NULL을 리턴 한다 . 파일 이름 같은경우 경로까지도 입력 할수 있는데 예로 C\main\main.c 이라면 입력시에는 C\\main\\main.c로 입력 해야 된다. 그이유는 역슬러쉬 문자는 문자열내에서 확장열 표시에 사용되기 때문이다 . 이젠 모드에 대해서 알아 보겠다 . mode 같은 경우에는 r = 읽기 전용으로 파일을 열고 파일이 없으면 NULL이 리턴 된다 . w = 쓰기 전용으로 파일을 열고 파일이 없으면 새로 만들고..

파일 입/출력을 공부 하기전 스트림에 대해서 !!!

스트림이란 용어부터 공부 해야 겠네요 ㅠㅠㅋㅋ 스트림이란 바이트들이 순서대로 입출력 되는 논리적인 장비를 스트림이라고 하네요 스트림은 내부에 입출력 버퍼를 가지고 있으며 이 버퍼는 스트림에 의해 자동으로 관리된다고 하네요 스트림의 현재 상태는 FILE 이라는 구조체에서 기억한다고 하네요 struct _iobuf{ chat * _ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char * _tmpfname; }; typedef struct _iobuf FILE; FILE이라는 놈이 실제이구나 !! ^____^ 여기서 잠시 CR/LF에 대해 공부 !!! CR(Carriage return) / LF (Line feed) ..