[C언어/C++] 문자열 길이 구하기 : strlen() 함수 ID/Password 길이 체크 예제 | ![]() |
안녕하세요 JollyTree입니다 (•̀ᴗ•́)و
strlen() 함수는 문자열의 길이를 구하는 함수입니다. NULL('\0')이포함된 문자열에서 NULL 문자를 제외한 문자열의 길이를 반환합니다. 예제는 입력한 문자열의 길이를 구하는 코드와 입력한 ID/Password가 하드 코딩된 ID/Password의 길이와 문자열이 동일한지를 비교 검사하는 코드로 구성되어 있습니다.
strlen() 함수의 자세한 설명은 예제를 참고하세요.
▣ strlen() 함수 예제(Example Code):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#define DB_ID "mainCodes"
#define DB_PASSWORD "abcd12345"
#define ID_LEN 9
int main()
{
char str_a[50] = "Hello World";
char str_b[20] = { 'a', 'b', 'c', 'd','e','f','g', '\0' };
char str_c[50];
char id[50], password[50];
int i;
int len;
printf("문자열을 입력하세요: ");
scanf("%s", str_c);
//str_c의 문자열 길이 구하기
len = (int)strlen(str_c);
//문자열의 길이 출력
printf("str_a(%s)의 길이 = %d\n", str_a, (int)strlen(str_a));
printf("str_b(%s)의 길이 = %d\n", str_b, (int)strlen(str_b));
printf("str_c(%s)의 길이 = %d\n", str_c, len);
//문자열 길이만큼 1바이트씩 출력
for (i = 0; i < strlen(str_a); i++)
putchar(str_a[i]);
//ID/Password 입력, 비교 예제: ID/Password가 맞으면 while()문을 종료함
while (1)
{
printf("\n\nID를 입력하세요(ID 길이:%d): ", ID_LEN);
scanf("%s", id);
printf("\n\nPassword를 입력하세요(Password 길이:%d): ", ID_LEN);
scanf("%s", password);
if ( (strlen(id) != ID_LEN) || (strlen(password) != ID_LEN))
{
printf("입력한 ID 또는 Password의 길이가 9보다 크거나 작습니다. 다시 입력해 주세요.\n");
continue;
}
else if ((strlen(id) == ID_LEN)&&(strlen(password) == ID_LEN) )
{
if ((strcmp(DB_ID, id) == 0)&&(strcmp(DB_PASSWORD, password) == 0))
{
printf("입력한 ID/Password의 길이가 %d이며, DB에 저장된 ID/Password가 동일합니다.\n", ID_LEN);
break;
}
}
}
return 0;
}
|
cs |
▣ 실행결과(Output):
이상 JollyTree였습니다. (•̀ᴗ•́)و