반응형

C언어 표준 라이브러리 함수 사용법 가이드 88

strcpy 함수 [C언어 표준 라이브러리 함수 가이드]

strcpy헤더 파일[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - string.h char * strcpy ( char * dest, const char * source ); 문자열을 복사하는 함수 입력 매개 변수 리스트 dest 문자열을 복사할 버퍼 source 원본 문자열 반환 값 dest strcpy 함수에는 dest 버퍼의 크기를 전달하지 않습니다. 만약 source 문자열의 길이가 dest 버퍼의 크기-1보다 크면 버퍼 오버플로우 버그가 발생합니다. 이러한 문제를 해결하기 위해 C11에서는 strcpy_s 함수를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //char * strcpy ( char * dest, const char * source ); 문자열을..

ferro 함수[C언어 표준 라이브러리 함수 가이드]

ferror 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int ferror ( FILE *fp ); 파일 스트림에 에러가 발생했는지 테스트하는 함수 입력 매개 변수 리스트 fp 파일 스트림 반환 값 파일 스트림에 에러 지시자가 설정 상태이면 0이 아닌 값 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int ferror ( FILE *fp ); 파일 스트림에 에러가 발생했는지 테스트하는 함수 //쓰기 모드로 파일을 열고 fgetc 함수 호출 시 에러 값 확인 #include int main (void) { FILE * fp; int re,no; fopen_s (&fp,"data.txt","w"); //쓰기 모드로 파일 열기 if (fp==NULL) {..

fseek 함수[C언어 표준 라이브러리 함수 가이드]

fseek 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fseek ( FILE *fp, long int offset, int whence ); 파일 스트림의 파일 position을 설정하는 함수 입력 매개 변수 리스트 fp 파일 스트림 offset whence에서 이동할 상대적 거리 whence SEEK_SET(시작 position), SEEK_CUR(현재 positon), SEEK_END(파일 끝) 반환 값 요청에 맞게 이동하지 못할 때만 0이 아닌 정수 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int fseek ( FILE *fp, long int offset, int origin ); 파일 스트림의 파일 position을 설정하는 함수..

ftell 함수[C언어 표준 라이브러리 함수 가이드]

ftell 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H long ftell ( FILE * fp ); 파일 스트림의 offset을 가져오는 함수 입력 매개 변수 리스트 fp 파일 스트림 반환 값 파일 스트림의 파일 position의 현재 값, 실패 시 -1 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //long ftell ( FILE * fp ); 파일 스트림의 offset을 가져오는 함수 //파일에 회원 데이터를 출력하고 다시 파일을 열어 파일의 크기를 확인 #include #define MAX_NAME_LEN 20 typedef struct{ char name[MAX_NAME_LEN+1]; int age; }Member; #define MAX_MEM..

fread 함수 [C언어 표준 라이브러리 함수 가이드]

fread 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H size_t fread ( void * base, size_t size, size_t count, FILE * fp); 파일 스트림에서 데이터를 읽는 함수 입력 매개 변수 리스트 base 데이터를 읽어올 버퍼 size 읽어올 데이터 하나의 크기 count 읽어올 데이터 개수 fp 입력 파일 스트림 반환 값 읽어온 데이터 개수 fread 함수는 요청한 데이터 개수보다 반환 값이 작다고 오류가 아니며 파일에 데이터를 모두 읽어온 것입니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //size_t fwrite ( const void * base, size_t size, size_t count, FILE..

fwrite 함수[C언어 표준 라이브러리 함수 가이드]

fwrite 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H size_t fwrite ( const void * base, size_t size, size_t count, FILE * fp); 파일 스트림에 데이터를 쓰는 함수 입력 매개 변수 리스트 base 기록할 데이터가 있는 주소 size 기록할 데이터 하나의 크기 count 기록할 데이터 개수 fp 출력 파일 스트림 반환 값 성공하면 쓰기 요청한 count, count 보다 작은 값을 반환하면 에러 fwrie 함수는 메모리에 있는 내용을 그대로 파일에 덤프하는 것입니다. 따라서 메모장과 같은 텍스트 편집기로 확인하면 글자가 깨진 것처럼 보입니다. 메모장과 같은 프로그램으로 출력 파일을 열어서 확인하였을 때 글자가..

fflush 함수[C언어 표준 라이브러리 함수 가이드]

fflush 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int fflush ( FILE *fp); 파일 스트림 버퍼를 비우는 함수 입력 매개 변수 리스트 fp 파일 스트림 반환 값 성공 시 0, 에러 시 EOF 출력 스트림 버퍼에 남아있는 내용을 출력 스트림에 출력하는 동작을 수행합니다. 하지만 입력 스트림에서 어떻게 동작해야 하는지는 표준 문서에서 정의하지 않았습니다. scanf 함수처럼 포멧에 맞게 입력을 받을 때 최종 사용자의 입력 내용이 포멧 문자열보다 더 많은 내용을 포함하고 있으면 버퍼에 처리하지 않은 데이터가 남습니다. 이처럼 스트림 버퍼의 내용을 비울 때 fflush 함수를 사용합니다. 하지만 C 표준 문서를 보면 구체적인 행위를 정의하지 않았습니다..

sscanf_s 함수[C언어 표준 라이브러리 함수 가이드]

sscanf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sscanf_s (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 입력 매개 변수 리스트 buffer 소스 문자열 format 포멧 문자열 ... 가변 인자 리스트 반환 값 변환 성공한 개수 sscanf 함수는 소스 문자열에 있는 내용으로 설정할 버퍼의 크기가 작으면 버퍼 오버플로우 현상이 발생할 수 있습니다. C11에서는 이를 개선한 sscanf_s를 제공하고 있습니다. sscanf_s로 소스 문자열에 있는 내용으로 문자열이나 문자를 설정할 때는 설정할 버퍼의 크기를 전달합니다. 사용 예 //C언어 표준 라이브러리 함수 사용..

sscanf 함수[C언어 표준 라이브러리 함수 가이드]

sscanf 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정하여 읽어오는 함수 입력 매개 변수 리스트 buffer 소스 문자열 format 포멧 문자열 ... 가변 인자 리스트 반환 값 변환 성공한 개수 소스 문자열에 있는 내용으로 설정할 버퍼의 크기가 작으면 버퍼 오버플로우 현상이 발생할 수 있습니다. C11에서는 이를 개선한 sscanf_s를 제공하고 있습니다. 사용 예 //C언어 표준 라이브러리 함수 사용법 가이드 //int sscanf (const char * buffer ,const char *format,...); 버퍼에서 포멧을 지정..

sprintf_s 함수[C언어 표준 라이브러리 함수 가이드]

sprintf_s 헤더 파일 [언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - STDIO.H int sprintf_s ( char * buffer, size_t size, const char * format, ... ); 버퍼에 포멧을 지정하여 출력하는 함수 입력 매개 변수 리스트 buffer 출력할 버퍼 size 버퍼 크기 format 포멧 문자열 ... 가변 인자 리스트 반환 값 버퍼에 출력한 문자 개수 sprintf 함수는 버퍼의 크기를 전달하지 않아서 함수 내부에서는 버퍼의 크기를 알 수가 없습니다. 버퍼에 출력할 내용이 버퍼 크기보다 크면 버퍼 오버플로우 문제가 발생합니다. C11에서는 이러한 문제를 개선한 함수 sprintf_s를 제공합니다. 사용 예 //C언어 표준 라이브러리 함수 ..

반응형