c 언어 - string 문자열

포인터 문자열 pointer string

선언
char *s = "string";

scanf 사용법
1
2
3
4
5
char *s1 = malloc(sizeof(char* 10);    // char 10개 크기만큼 동적 메모리 할당
printf("문자열을 입력하세요: ");
scanf("%s", s1);      // 표준 입력을 받아서 메모리가 할당된 문자열 포인터에 저장
printf("%s\n", s1);   // 문자열의 내용을 출력
free(s1);    // 동적 메모리 해제
cs

배열 문자열 array string

선언
char name[size] = "string"

scanf 사용법

1
2
3
4
char s1[10];    // 크기가 10인 char형 배열을 선언
printf("문자열을 입력하세요: ");
scanf("%s", s1);     // 표준 입력을 받아서 배열 형태의 문자열에 저장
printf("%s\n", s1);  // 문자열의 내용을 출력
cs

문자열 끝에는 널문자가 들어간다.

문자열 관련 함수

문자열 길이구하기
strlen(문자열) - 문자열의 길이를 반환

문자열 복사하기
strcpy(대상문자열, 원본문자열) - 대상문자열의 포인터를 반환

문자열 만들기
sprintf(배열, 서식, 값) - 성공하면 만들 문자열의 길이를 반환, 실패하면 음수를 반환

문자열 검색하기
strchr(대상문자열, 검색할 문자) - 문자를 찾았으면 문자로 시작하는 문자열의 포인터를 반화느 문자가 없으면 NULL을 반환
strrchr(대상문자열, 검색할 문자) - 문자열의 끝에서부터 역순으로 검색해서 문자를 찾으면 해당 문자로 시작하는 문자열의 포인터를 반환, 문자가 없으면 NULL을 반환
strstr(대상문자열, 검색할 문자열) - 문자열을 찾았으면 문자열로 시작하는 문자열의 포인터를 반환, 문자열이 없으면 NULL을 반환

문자열 자르기
strtok(대상문자열, 기준문자) - 자른 문자열을 반환, 더 이상 자를 문자열이 없으면 NULL을 반환

문자열과 숫자를 서로 변환하기
atoi(문자열) int atoi - 성공하면 변환된 정수를 반환, 실패하면 0을 반환
strtol(문자열, 끝포인터, 진법) - 성공하면 변환된 정수를 반환, 실패하면 0을 반환
atof(문자열) - 성공하면 변환된 실수를 반환, 실패하면 0을 반환


출처 : c언어 코딩강좌

댓글