-
C언어) 문자열 처리 함수 정리컴퓨터 공부/C언어) 백준 단계별 풀이 2020. 3. 19. 14:06
#include <string.h> 추가!!
strlen : 문자 길이 반환 (\0 나타난 곳의 번호)
-> strlen(str)
strcpy : 문자열 전체 복사 (\0문자 까지만 복사)
-> strcpy(str, "Hello");
strcpy(str1, str2);
strncpy: 문자열 n바이트 복사
strcat : 문자열 나란히 붙이기 (\0부터 붙이기, 메모리 초과 주의!)
-> strcat(str1,str2);
strcmp/ strncmp : 문자열 비교 (전체 비교 : \0있는 곳까지만 비교)
-> strcmp (str1, str2);
-> 같으면 0 반환, 다르면 0아닌 수
ex) if(!strcmp(str1,str2)) printf("same");
strchar/ strstr : 문자/문자열 위치 (주소, 포인터) 반환, 없으면 NULL 반환
->strchar (str, 'a');
->strstr(str,"ll");
ex) 문장 속 "ll" 찾아서 "nn"으로 바꾸기
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { char *f; char str1[30] = "hello well hell"; //원본 char str2[30]; //사본 strcpy(str2, str1); //복사 f = str2; f = strstr(f, "ll"); while (f != NULL) { //없으면 null *f = 'n'; //n으로 바꾸기 *(f + 1) = 'n'; f++; //다음으로 이동 f = strstr(f, "ll"); } printf("%s", str2); }
strtok : 토큰 단위로 자름, 자른 토큰이 저장된 곳의 위치 (포인터)로 반환, 없으면 NULL
-->strtok(str,",.-? ");
-->str(NULL,",.-? "); //두번째부터는 null써 줌!
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { char str[100] = "hello bye world hey"; char *token; token = strtok(str, " "); //첫 토큰 while (token != NULL) { //더 이상 토큰이 없을때까지 반복 printf("%s\n", token); token = strtok(NULL, " "); //다음 토큰 } }
'컴퓨터 공부 > C언어) 백준 단계별 풀이' 카테고리의 다른 글
1316번 그룹단어 문제 (0) 2020.03.19 5622 다이얼 문제 (0) 2020.03.19 11720번) 문자열 계산 (0) 2020.03.19 C언어) 문자열, 문자열 배열 기본 개념 (0) 2020.03.19 11654번 아스키코드 (0) 2020.03.19