반응형
이번 글을 통해 배워갈 내용
- 영어 단어의 문자길이를 구해보겠습니다.
- char 배열을 통해 문자길이를 구해보고
- 스트링 stl를 통해 문자길이를 구해보겠습니다.
"Hello" 라는 단어는 6개의 문자로 이루어져 있습니다.
사람의 눈으로 세는 문자 수를 컴퓨터로 한번 프로그래밍 해보겠습니다.
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char myStr[] = "hello";
char *ch = myStr;
int counter = 1;
for (; (*ch !='\0'); ch++)
{
cout << *ch;
cout << " " << counter;
counter++;
cout << endl;
}
cout << counter-1;
return 0;
}
char 배열을 만들고 "hello" 라는 스트링을 할당합니다.
char * ch 포인터를 위의 배열에 가리킵니다.
스트링의 끝은 '\0' 으로 끝나기 때문에 '\0'이 나올때까지 스트링내부에 값을 하나씩 봅니다.
결과
h 1
e 2
l 3
l 4
o 5
5
char myStr[] = "kingismyname"; 일때
결과
k 1
i 2
n 3
g 4
i 5
s 6
m 7
y 8
n 9
a 10
m 11
e 12
12
아스키 코드를 기준으로 만들었기 때문에 유니코드에서는 버퍼 사이즈가 달라서 답이 나오지 않습니다.
캐릭터 배열이 아니고 스트링을 쓴다면 length() 함수를 통해 위에 식을 두줄로 끝낼수 있습니다.
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string k = "hello";
cout<<k.length();
return 0;
}
결과
5
오늘도 즐거운 코딩하시길 바랍니다 ~ :)
참조 및 인용
C++ Primer
반응형
'C++ > C++ 기타' 카테고리의 다른 글
C++ 아스키 코드 영문 모음, 자음, 단어 갯수 세기 (1) | 2021.07.03 |
---|---|
C++ 아스키 코드 스트링 문자 뒤집기 (1) | 2021.07.03 |
C++ 실행중에 이중배열 크기를 정의 하고 사용하는 한가지 방법 (1) | 2021.07.02 |
C++ 동적으로 배열 크기를 늘리는 세가지 방법 (1) | 2021.06.21 |
배열을 함수에 인자로 보낼때 알아야 하는 한가지 (1) | 2021.06.15 |