연재 완료/C Lang 예제코드 모음

C언어 표준 라이브러리 주요예제 1 (문자열 처리 함수)

라이피 (Lypi) 2018. 6. 8. 02:08
반응형


1. 문자열을 복사하고, 길이를 구하는 프로그램을 작성하라.

#include <stdio.h>
#include <string.h>

int main()
{
	char str1[10];

	strcpy_s(str1, "abc");
	printf("%s", str1);
	printf("%zd \n",strlen(str1));

}


2. 키보드로부터 입력되는 두 문자열을 연결하는 프로그램을 작성하라.

#define _CRT_SECURE_NO_WARNINGS
//scanf로만 되기 때문에 넣어뒀다.
//별로 좋은 예제는 아님.

#include <stdio.h>
#include <string.h>

int main()
{
	char str1[100];
	char str2[100];

	printf("첫번째 문자열을 입력하세요 : "); scanf("%s", str1);
	printf("두번째 문자열을 입력하세요 : "); scanf("%s", str2);

	strcat_s(str1, str2);

	printf("%s \n", str1);
}

3. 키보드로부터 입력되는 문자열이 "login"이면 "success"를, 다른 문자열일 경우에는 "failure"를 화면에 출력하는 프로그램을 작성하라.
#include <stdio.h>
#include <string.h>

int main()
{
	char str1[100];

	printf("문자열을 입력하세요 : "); scanf_s("%s", str1, 100);
	
	if (!(strcmp(str1, "login"))) {
		//strcmp는 문자열이 같으면 0을 리턴하기 때문에 같은 경우를 참으로 볼 때는 부정 연산자를 써야한다.
		printf("success");
	}
	else {
		printf("failure");
	}
}


4. 문자열 "this is a test sentence"에서 문자열 "sentence"만 화면에 출력하는 프로그램을 strstr()함수를 이용하여 작성하라.

#include <string.h>
#include <stdio.h>

void main()
{
	const char* word;

	word = strstr("this is a test sentence", "sentence");

	printf("%s", word);
}


5. 문자열 "March.30, 2002"에서 문자 .이나 ,가 포함되어 있는지를 확인하고, 어느 하나라도 찾게 될 경우 첫 번째 문자의 위치를 가리키는 포인터 값을 구하는 프로그램을 strpbrk() 함수를 이용하여 작성하라.

#include <stdio.h>
#include <string.h>

int main()
{
	char str1[20] = "March. 30, 2002";
	
	char* p;

	p = strpbrk(str1, ".,");

	printf("%s \n", p);
	//포인터 p가 가리키고 있는 곳부터 문자열의 끝까지 출력

	printf("%llx \n", (unsigned _int64)p);
	//포인터가 가리키고 있는 주소값 출력

	printf("%c \n", *p);
	//포인터가 찾은 문자

}


6. 문자열 "March. 30, 2002"에서 끝 문자부터 시작하여 전방으로 진행하면서 문자 .를 찾아 첫 번째 나타나는 위치 포인터 값을 구하는 프로그램을 strrchr() 함수를 이용하여 작성하라.

#include <stdio.h> #include <string.h> int main() { const char* str1 = "March. 30, 2002"; const char* p = strrchr(str1, '.'); //뒤에서부터 찾는다. printf("%s \n", p); printf("%llx \n",(unsigned _int64) p); }


7. 문자열 "march. 30, 2002"에서 문자 .가 첫 번째 나타날 때까지의 문자수를 화면에 출력하는 프로그램을 strcspn() 함수를 이용하여 작성하라.

include <stdio.h>
#include <string.h>

int main()
{
	const char* str1 = "March. 30, 2002";

	size_t len = strcspn(str1, ".");
	
	printf("%zd \n", len);

	char STRricive[10];

	strncpy_s(STRricive, 10, str1, (strcspn(str1, ".")));

	printf("%s", STRricive );
}


반응형