반응형
문자열 관련 함수
함수 | 헤더 | 파일 설명 |
strlen(문자열포인터); strlen(문자배열); | string.h | 문자열의 길이를 구합니다(NULL은 포함하지 않음). |
strcmp(문자열1, 문자열2); | string.h | 문자열1과 문자열2를 비교합니다(Windows). - -1: ASCII 코드 기준으로 문자열2가 클 때 - 0: ASCII 코드 기준으로 두 문자열이 같을 때 - 1: ASCII 코드 기존으로 문자열1이 클 때 앞에 것이 크면 1, 뒤에 것이 크면 -1입니다. 리눅스와 OS X에서는 문자열1의 ASCII 코드값에서 문자열2의 ASCII 코드값을 뺀 결과를 반환합니다. - 반환값이 양수가 나오면 문자열1이 크고, 음수가 나오면 문자열2가 큼 - ASCII 코드 기준으로 두 문자열이 같으면 0 |
strcpy(대상문자열, 원본문자열); | string.h | 문자열을 복사합니다. |
strcat(최종문자열, 붙일문자열); | string.h | 문자열을 붙입니다. |
sprintf(배열, 서식, 값); sprintf(배열, 서식, 값1, 값2, ...); sprintf(문자열포인터, 서식, 값); sprintf(문자열포인터, 서식, 값1, 값2, ...); |
stdio.h | 서식을 지정하여 문자열을 생성합니다. |
strchr(문자열, 검색할문자); | string.h | 문자열 안에서 문자로 검색합니다. 문자를 찾았으면 해당 문자부터 NULL 바로 앞까지의 문자열이 나옵니다 (해당 문자의 포인터 반환). |
strrchr(문자열, 검색할문자); | string.h | 문자열의 뒤에서부터 문자로 검색합니다. 문자를 찾았으면 해당 문자부터 NULL 바로 앞까지의 문자열이 나옵니다(해당 문자의 포인터 반환). |
strstr(대상문자열, 검색할문자열); | string.h | 문자열 안에서 문자열로 검색합니다. 문자열을 찾았으면 해당 문자열부터 NULL 바로 앞까지의 문자열이 나옵니다(해당 문자열의 포인터 반환). |
strtok(대상문자열, 기준문자); | string.h | 문자를 기준으로 문자열을 자릅니다. 자른 문자열을 한 번에 얻을 수 없으므로 while로 계속 반복 사용해야 합니다. 그리고 문자열을 자른 부분은 NULL로 바뀝니다. |
atoi(문자열); | stdlib.h | 문자열을 정수로 변환합니다. |
atof(문자열); | stdlib.h | 문자열을 실수로 변환합니다. |
strtol(문자열, 끝포인터, 진법); | stdlib.h | 특정 진법으로 표기된 문자열을 정수로 변환 합니다. 정수 여러 개가 들어있는 문자열을 변환할 수 있습니다. |
strtof(문자열, 끝포인터); | stdlib.h | 문자열을 실수로 변환합니다. 실수 여러 개가 들어있는 문자열을 변환할 수 있습니다. |
sprintf(문자열,"%d", 정수); sprintf(문자열,"%x", 정수); sprintf(문자열,"%X", 정수); |
stdio.h | 정수를 문자열로 변환합니다. - %d: 10진수 - %x: 16진수 소문자 - %X: 16진수 대문자 |
sprintf(문자열,"%f", 실수); | stdio.h | 실수를 문자열로 변환합니다. |
2. 대소문자 : 방법은 두 가지이다.
1) 소문자 = 대문자 + 32 관계를 이용한다.
2) strupr(char* str)(소문자 -> 대문자), strlwr(char* str)(대문자 -> 소문자)를 이용한다.
3. sorting 함수(stdlib.h)
sort(void *base, size_t num, size_t 배열 하나의 크기, int 비교함수);
int compare(type* a, type* b){
return 양수(swap);
retunr 음수(그대로);
}
예시 : 오름차순 정렬
#include<stdio.h>
#include<stdlib.h> //qsort라이브러리를 부를 수 있는 헤더파일
int compare(const int* a, const int* b) { //비교 요소의 형식을 갖춘 매개변수
return(*a - *b);//오름차순
}
int main() {
int N[10] = { 21, 10, 41, 33, 25, 17, 68, 27, 14, 29 };
qsort(N, 10, sizeof(int), compare); //배열 위치 주소, 요소의 개수, 요소의 크기, 기준 함수
for (int i = 0; i < 10; i++) {
printf("[%d]", N[i]);
}
return 0;
}
4. int isdigit(int char) : 해당 글자가 digit인지 반환(1 : true, 0 : false) : <ctype.h>
사실 C 언어 자체는 C++, Python처럼 코딩테스트에 필요한 많은 기능을 제공하지 않아서, 적합하지는 않다. 다만 임베디드 소프트웨어 개발 직무의 경우 C만을 사용하도록 하는 곳이 있어서 본인이 원하는 직무라면 알아둘 필요가 있다. 일단은 이정도로 마무리한다.
반응형
'컴퓨터 과학 > 자료구조 및 알고리즘' 카테고리의 다른 글
백준 1107, 리모컨 (0) | 2023.12.27 |
---|---|
백준 1476, 날짜 계산 (1) | 2023.12.21 |
백준 2309, 일곱 난쟁 (0) | 2023.12.20 |
백준 17404, RGB거리 2 (1) | 2023.12.18 |
백준 1309, 동물 (0) | 2023.12.18 |