본문 바로가기
programming language/C

[C언어] 11강 문자열과 문자 I/O 함수

by Peter Choi 2023. 2. 17.
반응형

문자열이란 

남는 자리는 \0으로 배정이 된다

보통 

 

char var[size] = “abcde fgh”;

 

이런 식으로 선언이 된다

 

배열은 값을 변경할 수 없는 포인터, 즉 포인터 상수이다.

 

문자 입력에서는 먼저 배열을 선언한 즉시 문자열로 초기화해야 한다

 

문자 입력 함수는 다음과 같다

 

char* fgets(char* str, int num, FILE* stream);
//1번 인자는 문자열을 저장할 char 배열을 가리키는 포인터

//2번 인자는 읽어들일 최대 문자 수

//3번 인자는 문자열을 읽어들일 스트림의 file 객체를 가리키는 포인터

//리턴값은 str이다

//결과를 "\n"이 나올 때까지 string에 저장하고, 스트링 끝에 "\0"을 추가한다

//읽은 문자 수가 n - 1일때까지 문자를 읽는다

 

 

char* gets_s(char* str);
//1번 인자는 문자열을 저장할 char 배열을 가리키는 포인터
//리턴값은 str이다
//개행문자도 문자열에 포함시킨다

 

 

char* gets_s(char* str);
//1번 인자는 형식 문자열이다
//읽어들인 인자의 개수를 리턴한다

 

 

문자 출력에서는 다음과 같은 함수를 사용한다

 

int puts(const char* str);

//1번 인자는 문자열이다

//리턴값은 오류가 없을 시 정수인 0을 리턴함

//별도로 입력하지 않아도 개행문자를 출력함

 

int fputs(const char* str, FILE* stream);

//1번 인자는 스트림에 쓰여질 문자들의 배열을 가리키는 포인터

//2번 인자는 문자열을 쓸 스트림의 file 객체를 가리키는 포인터

//리턴값은 쓰기가 성공한다면 음이 아닌 정수인 0이 리턴된다

 

int printf(const char* format,...);

//1번 인자는 형식 태그

//리턴값은 성공하면 출력된 전체 문자의 개수가 리턴된다 실패하면 음수가 리턴됨

 

char *strstr(const char *s1, const str *s2);

//

//

 

char* strncpy(char* dest, const char* source, size_t);
//dest를 리턴함
//dest => 문자열이 복사될 곳, source => 복사될 C 문자열, size_t => source에서 복사되는 사이즈

 

int strcmp(const char* str1, const char* str2);
//두 문자열에 따라 정수를 리턴함
//일치하면 0을, str1>str2 => 0보다 큰 값, 아니면 음수 리턴
//인자 두 개는 모두 C 문자열

 

반응형

댓글