반응형
[문자열 함수]
1.
int puts(const char* s);
성공시 0이아닌 값을, 실패 시 EOF 반환
ex) puts("hello boxbop!");
2.
int putchar(int c);
성공 시 출력된 문자 정보를, 실패 시 EOF 반환
ex) putchar('A');
cf)EOF는 End Of File의 약자로 상수 값은 -1입니다. 파일의 끝을 표시하기 위해 정의된 상수입니다.
3.
char* gets(char* s);
성공 시 매개변수로 전달된 값을, 실패 시 NULL 포인터 반환
ex) char str[10];
gets(str);
이함수를 호출하면서 메모리의 주소 값을 인자로 전달하면, 키보드로부터 입력되는 문자열이, 전달된 주소의 메모리에 저장됩니다.
4.
int getchar(void);
성공 시 입력된 문자를, 실패시 EOF 반환
ex) int ch;
ch = getchar();
[문자열 컨트롤 함수]
1.
size_t strlen(const char* s);
문자열의 길이 정보 반환
2.
char* strcpy(char* dest, const char* src);
char* strncpy(char* dest, const char* src, size_t n);
->문자열을 배열에 복사합니다.
ex) char src[10]="hi boxbop";
char dest[10];
strcpy(dest, src);
3.
char* strcat(char* dest, const char* src);
char* strncat(char* dest, const char* src, size_t n);
첫 번째 매개변수에 전달된 주소 값 반환
->문자열 뒤에 문자열을 복사
4.
int strcmp(const char* s1, const char* s2);
int strncmp(const char* s1, const char* s2, size_t n);
두 문자열이 동일하면 0, 동일하지 않으면 0이 아닌 값 반환
->두 문자열이 서로 동일한지 비교
[문자열 정보 함수]
1.
char* strchr(const char* s, int c);
char* strrchr(const char* s, int c);
문자를 찾을 시 해당 문자의 포인터를, 못 찾을 시 NULL 포인터 반환
->문자열에서 특정 문자가 등장하는 위치를 찾는다.
strchr은 처음 등장하는 위치를, strrchr은 마지막 위치를 찾는다.
2.
char* strstr(const char* src, const char* sub);
문자열을 찾을 시 해당 문자열의 시작 주소를, 못 찾을시 NULL 포인터를 반환
->문자열 안에 특정 문자열이 존재하는지 확인
3.
char* strtok(char* str, const char* set);
다음 번 토큰의 주소 값을 반환하며, 반환할 토큰이 없으면 NULL포인터 반환
->기준을 기준으로 문자열을 나눌경우 사용
ex) char str[] = "aaa-bbb";
char* tok;
tok = strtok(str,"-_!"); -, _, ! 을 기준으로 사용
while(tok != NULL)
{
printf("토큰 : %s ", tok);
tok=strtok(NULL, "-_!");
}
3번째 줄을 보시면 문자열 str은 기호 -, _, !을 기준으로 토큰이 나뉩니다. 그리고 이렇게 함수가 호출이 되고 나면, 첫 번째 토큰의 주소 값이 반환됩니다. while문 내에 있는 strtok함수를 보면 두 번째 토큰의 정보를 얻기위해 다음과 같은 형태로 함수를 호출하고 있습니다. 첫 번째인자로는 NULL을 전달하여 3번째 줄에서 전달한 str의 정보를 함수 내에서 유지합니다. 두 번째 인자인 기준은 동일합니다.
[문자열 변환 함수]
double atof (const char* str);
int atoi (const char* str);
long atol (const char* str);
long long atoll (const char* str);
->각각 double, int long, long long형 데이터로 변환합니다.
ex) int num;
num = atoi("123");
[sptrinf & sscanf]
1.
int sprintf(char* restrict s, const char* restrict format,...);
성공 시 저장된 문자열의 길이, 실패 시 EOF 반환
->문자열 배열에 저장한다.
ex)
int num1 = 1;
char str[] = "hello";
float num2 = 1.23;
char strBuf[20];
sptrinf(strBuf,"%d %s %f", num1, str, num2);
puts(strBuf);
2.
int sscanf(char* restrict s, const char* restrict format,...);
성공 시 읽어 들인 데이터의 개수, 실패 시 EOF 반환
->문자열 배열로부터 데이터를 추출한다.
ex)
int num1;
char str[10];
float num2;
sscanf("hello 1 1.23", "%s %d %f", str, &num1, &num2);
반응형
'Basic > C/C++' 카테고리의 다른 글
[C++ 언어] 제 1 강 : 기본적인 C++ (0) | 2012.02.01 |
---|---|
[C언어] 제 23 강 : 그 외 함수들과 파일 분할 (0) | 2012.01.29 |
[C언어] 제 22 강 : 파일 입출력 (3) | 2012.01.28 |
[C언어] 제 21 강 : 구조체, 공용체 그리고 열거형 (0) | 2012.01.27 |
[C언어] 제 20 강 : 매크로와 전처리기 (0) | 2012.01.27 |
[C언어] 제 18 강 : 메모리 관련 함수와 한정자 (0) | 2012.01.26 |
[C언어] 제 17 강 : 함수의 포인터 활용과 메모리 할당 (1) | 2012.01.24 |
[C언어] 제 16 강 : 배열과 포인터, 포인터 연산 (0) | 2012.01.22 |
[C언어] 제 15 강 : 포인터의 포인터 그리고 포인터 배열 (0) | 2012.01.19 |
[C언어] 제 14 강 : 포인터의 기본적인 개념 (0) | 2012.01.19 |