본문 바로가기
C언어

내가 보려고 만든 <C언어 문자열 정리> (미완 계속 업데이트할 예정)

by 코코쵸마 2023. 8. 11.

C언어에서는 문자열을 배열처럼 사용한다

 

문자열 char* str = "BlockDMask" 이 문자열의 끝에는 문자열의 끝을 알려주는 '\0'문자가 포함되어 있다

 

malloc메모리할당

char** answer = (char**)malloc(strlen(my_string) * sizeof(int));

배열의 공간이 충분하지 않으면 오버플로우가 발생한다

 

strlen(str)

-문자열의 길이를 뜻한다

-헤더파일: <string.h> (*프로그래머스에선 헤더안써줘도 통과하던데 그래도 잘 챙겨넣기!!)

-문자열 복사, 수정할 때 for문이나 while문에 잘 쓴다

-또한 빈 문자열변수에 다른 문자열을 복사했을 때 마지막 index다음 index에 '\0'을 입력해야 한다

 

strcat(str1, str2) / strncat(str1, str2, n)

-문자열 이어붙이기

-str1에 str1뒤에 str2를 연결한 문자열을 저장

-헤더 <string.h>

-strncat은 str1뒤에 str2에 있는 문자열 n개를 이어 붙이는 함수이다

 

strcpy(str1, str2) / strncpy(str1, str2, n)

-헤더 <string.h>

-str2를 str1로 복사

-n개만큼 복사

 

strcmp(str1, str2) / strncmp(str1, str2, n)

-문자열 비교

-str1, str2이 같으면 0 return

-str1 < str2이면 음수 return (ex. str1: xxxa str2: xxxb)

-str2 > str2이면 양수 return (ex. str1: xxxb str2: xxxa)

-strncmp는 n개만 비교

(const char* str1 = “xxxxa

const char* str2 = “xxxxb”

strncmp(str1, str2, 4); //‘xxxx” 까지만 검사하므로 0 반환

strncmp(str1, str2, 5);  // a < b 이므로 음수 반환)

 

 

atoi(str) / atof(str) /atol(str) / itoa() / sprintf()

-atoi : 문자열- > 정수

-atof : 문자열 -> 실수

-atol : 문자열 -> long정수

 

-itoa : 정수 -> 문자열

-sprintf : 정수 -> 문자열

 

strstr(str1, str2)

 

 

isdigit

strcmp

toupper(str) / tolower(str) / isupper(str) / islower(str)

 

size_t타입

-객체나 값이 포함할 수 있는 최대 크기의 데이터를 표현하는 데이터 타입이다

 

 

복사

비교

위치찾기