표준 라이브러리 7

strncmp 함수 [C언어 표준 라이브러리 함수]

int strncmp ( const char * str1, const char * str2, size_t n); 부분 문자열을 비교하는 함수 입력 매개 변수 리스트 str1 비교 대상 문자열 str2 비교 대상 문자열 n 비교할 문자 개수 반환 값 같을 때 0, str1이 크면 양의 정수, str2가 크면 음의 정수 strncmp 함수는 사전식으로 문자열을 비교합니다. 사전식 비교란 앞에서 부터 비교하면서 차이가 있는 부분이 있으면 그 부분의 문자의 차이로 비교하는 것을 말합니다. 예를 들어 abcd와 abd를 비교하면 세번째 문자에서 차이가 발생하고 c가 d보다 작으므로 abcd가 abd보다 작다고 판단하는 것을 말합니다. 사용 예 //C언어 표준 라이브러리 함수 가이드 //int strncmp ( c..

strcmp 함수 [C언어 표준 라이브러리 함수]

strcmp 함수 [C언어 표준 라이브러리 함수] int strcmp ( const char * str1, const char * str2 ); 문자열을 비교하는 함수 입력 매개 변수 리스트 str1 비교 대상 문자열 str2 비교 대상 문자열 반환 값 같을 때 0, str1이 크면 양의 정수, str2가 크면 음의 정수 strcmp 함수는 사전식으로 문자열을 비교합니다. 사전식 비교란 앞에서 부터 비교하면서 차이가 있는 부분이 있으면 그 부분의 문자의 차이로 비교하는 것을 말합니다. 예를 들어 abcd와 abd를 비교하면 세번째 문자에서 차이가 발생하고 c가 d보다 작으므로 abcd가 abd보다 작다고 판단하는 것을 말합니다. 사용 예 //C언어 표준 라이브러리 함수 가이드 //int strcmp ( ..

strlen 함수 [C언어 표준 라이브러리]

strlen 함수 [C언어 표준 라이브러리] size_t strlen( const char * str ); 문자열 길이를 구하는 함수 입력 매개 변수 리스트 str 문자열 반환 값 문자열 길이 문자열 길이를 구하는 strlen 함수는 거짓인 문자(널 문자, ‘\0’, 아스키 코드값 0)을 만날 때까지의 문자의 개수를 반환합니다. 한글 하나의 문자는 2개의 문자로 표현합니다. 사용 예에서는 strlen 함수를 사용하는 예제 코드를 포함하여 strlen 함수와 같은 동작을 하는 ehstrlen 함수를 볼 수 있습니다. 이처럼 라이브러리 함수의 내부를 이해하기 위해 같은 동작을 하는 함수를 만들어 보는 것도 나쁘지 않습니다. 사용 예 //C언어 표준 라이브러리 함수 가이드 //size_t strlen( con..

feof 함수 [C언어 표준 라이브러리 함수]

int feof(FILE * fp); 파일 스트림의 끝인지 테스트하는 함수 입력 매개 변수 리스트 fp 파일 스트림 반환 값 파일 스트림의 end of file 지시자가 설정 상태이면 0이 아닌 값 사용 예 //C언어 표준 라이브러리 함수 가이드 //int feof ( FILE * fp ); 파일 스트림의 끝인지 테스트하는 함수 //파일의 내용을 라인 번호를 추가하여 출력 #include int main (void) { FILE * fp; int ch; int line_no = 0; fopen_s(&fp, "input.txt","rt");//읽기 모드로 파일 열기 if (fp==NULL) { perror ("error fopen"); return 0; } line_no++; printf("%4d: ",l..

ferror 함수 [C언어 표준 라이브러리 함수]

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) { perror ("error fopen"); return 0; } re = fgetc(fp);//출력 스..

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

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_MEMBERS 10 int main (void) { FILE * fp; Member members[MAX_M..

fgets 함수 [C언어 표준 라이브러리 함수]

fgets 함수 [C언어 표준 라이브러리 함수] char *fgets(char * buffer, int max,FILE * stream); 파일 스트림의 버퍼에서 문자열을 읽는 함수 입력 매개 변수 리스트 buffer 문자열을 기록할 버퍼 max 읽어올 문자열을 구성하는 문자 최대 개수 -1 stream 입력 파일 스트림 반환 값 성공 시 buffer, 실패 하거나 파일의 끝을 만나면 NULL 개행 문자를 만나거나 max-1 개를 읽으면 마지막에 종료 문자를 추가합니다. gets에서는 개행 문자를 지우고 종료 문자를 추가하지만 fgets에서는 개행 문자도 그대로 읽습니다. 사용 예 //C언어 표준 라이브러리 함수 가이드 //char *fgets(char * buffer, int max, FILE * st..