c character conversion functions
이 자습서에서는 코드 예제를 사용하여 문자를 정수로 또는 문자열 및 문자 배열을 문자열로 변환과 같은 C ++ 문자 변환 함수를 다룹니다.
C ++에서는 많은 유형을 포함하는 응용 프로그램을 개발함에 따라 한 유형에서 다른 유형으로 변환해야합니다. 이전 튜토리얼에서 이미 몇 가지 기본 유형 변환을 보았습니다.
또한 문자열 변환과 숫자 유형을 문자열로 변환하는 것을 보았습니다. 우리가 이미 살펴본 문자열 변환 함수 외에도 문자를 다른 데이터 유형으로 변환하는 데 사용되는 몇 가지 함수가 있습니다.
이들은 단일 문자 또는 문자 배열을 취한 다음 다른 데이터 유형으로 변환하는 함수입니다.
학습 내용 :
C ++ 문자 변환 함수
단일 문자를 정수 또는 문자열로 변환하고 문자 배열을 문자열로 변환 할 때 변환 함수는 문자열 변환 함수와 약간 다릅니다.
유닉스에서 grep 명령은 무엇입니까
이 자습서에서는 다음 변환에 대해 설명합니다.
- 문자를 정수로 변환 (char에서 int C ++로)
- 문자를 문자열로 변환 (문자를 문자열 C ++로)
- 문자 배열을 문자열로 변환
처음 두 변환은 단일 문자를 처리하고 마지막 변환은 문자 배열을 포함합니다.
문자를 정수로 변환 – char를 int로
단일 문자를 정수 유형으로 변환하려면 다음과 같은 두 가지 방법이 있습니다.
# 1) 캐스팅
캐스팅 연산을 사용하여 단일 문자를 해당 정수로 변환 할 수 있습니다. 이 경우 해당 문자에 해당하는 ASCII가 표시됩니다.
다음 변환을 고려하십시오.
char a = 'A'; int num = (int) a;
이 경우‘num’은 문자‘A’에 해당하는 ASCII 값 65를 갖습니다.
또는 숫자 문자를 정수 값으로 변환하려면 다음 작업을 사용할 수 있습니다.
char a = '2'; int num = a-48;
여기서 48은 0의 ASCII 값입니다. 여기서 수행되는 것은 두 번째 줄 a-48이 암시 적으로 char a를 해당 ASCII로 변환 한 다음 48 (50-48)에서 빼서 정수 값 2가되는 것입니다.
# 2) stringstream 사용
문자열 변환 함수에 대한 자습서에서 이미 살펴본 것처럼 stringstream 객체로 표시된 단일 문자를 정수 또는 숫자 값으로 변환 할 수 있습니다.
아래에이를 보여주는 코드가 있습니다.
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< 산출:
문자 5 : 5의 변환 된 값
문자를 문자열로 변환 – 문자를 문자열로
단일 문자를 문자열로 변환 할 수있는 다양한 방법이 있습니다.
이러한 방법 중 일부를 논의 해 보겠습니다.
# 1) 문자열 클래스에서 제공하는 생성자 사용.
기능 프로토 타입 : 문자열 s (int n, char x);
매개 변수 :
n => 생성 할 문자열의 크기.
x => 문자열로 변환 될 문자.
반환 값 : s 문자 변환으로 얻은 tring.
기술: 문자열 클래스의 생성자는 문자열 길이 (n)와 단일 문자를 매개 변수로 취한 다음 문자를 문자열로 변환합니다.
다음은 단일 문자를 문자열로 변환하는 것을 보여주는 간단한 예입니다.
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< 산출:
단일 문자를 변환하여 얻은 문자열 : A
위의 변환은 간단한 것입니다. 문자열 생성자를 호출하고 문자열의 길이 (첫 번째 매개 변수)를 1로 지정합니다. 단일 문자를 변환하고 두 번째 매개 변수는 문자열로 변환 할 문자 (이 경우 'A')이기 때문입니다.
# 2) std :: string 사용 연산자 = And + =
std :: string 클래스 연산자, = 및 + =는 문자에 대해 오버로드됩니다. 따라서 이러한 연산자를 사용하여 단일 문자를 문자열로 변환 할 수 있습니다.
이것은 아래 표시된 프로그램에서 설명됩니다.
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< 산출:
단일 문자를 변환하여 얻은 문자열 : CB
이 프로그램에서는 오버로드 된 연산자 = 및 + =를 모두 사용했습니다. 문자열 객체를 선언 한 다음 = 연산자를 사용하여 문자를 할당했습니다. 다음으로 + = 연산자를 사용하고 문자열 객체에 다른 문자를 할당합니다.
두 번째로 문자가 실제로 문자열 객체의 이미 존재하는 내용에 연결되는 것을 볼 수 있습니다.
# 3) std :: string의 다양한 방법 사용
std :: string 클래스는 궁극적으로 문자를 문자열로 변환하는 문자열에 문자를 전달할 수있는 다양한 오버로드 된 메소드를 지원합니다.
std :: string 클래스의 일부 메소드는 다음과 같습니다.
- push_back
기능 프로토 타입 : 무효 push_back (char c)
매개 변수 : c => 문자열에 할당 할 문자
반환 값 : 무효 반환
기술: 이 함수는 문자에 대해 오버로드되며 문자열 끝에 문자를 할당합니다.
- 추가
기능 프로토 타입 : 문자열 & 추가 (size_t n, char c)
매개 변수 :
n => 문자가 추가되는 횟수.
c => 문자열에 추가 할 문자입니다.
반환 값 : 문자 변환으로 얻은 문자열입니다.
기술: std :: string의 추가 함수는 두 개의 인수를 사용합니다. 첫 번째 인수는 문자가 문자열에 복사되는 횟수입니다. 두 번째 인수는 복사 할 실제 문자입니다. 따라서 append 함수는 첫 번째 인수에 지정된 문자열에 많은 문자 복사본을 할당합니다.
- 양수인
기능 프로토 타입 : 문자열 & 할당 (size_t n, char c);
매개 변수 :
n => 문자의 사본 수.
c => 문자열에 복사 할 문자입니다.
반환 값 : 문자 변환으로 얻은 문자열입니다.
기술: Assign 함수는 현재 문자열 내용을 문자의 n (첫 번째 인수) 복사본 (두 번째 인수)으로 바꿉니다.
- 끼워 넣다
기능 프로토 타입 : 문자열 & 삽입 (size_t pos, size_t n, char c);
매개 변수 :
pos => 문자를 삽입 할 시작 위치.
n => 문자의 사본 수.
c => 문자열에 삽입 할 문자입니다.
반환 값 : 문자 변환으로 얻은 문자열입니다.
기술: 이 함수는 pos (첫 번째 인수)로 지정된 문자열의 시작 위치에 문자 (세 번째 인수)의 n (두 번째 인수) 복사본을 삽입합니다.
다음으로 std :: string 클래스의 위 기능을 모두 보여주는 프로그램을 개발합니다.
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< 산출:
push_back 단일 문자 : A
단일 문자 추가 : C
단일 문자 할당 : D
단일 문자 삽입 : BD
위의 프로그램은 push_back, 추가, 할당 및 삽입 기능을 보여줍니다. 출력에는 각 함수에서 반환 된 결과 또는 문자열이 표시됩니다.
# 4) std :: stringstream 사용
우리는 이미 stringstream을 사용하여 숫자 형을 문자열로 변환하는 것에 대해 논의했습니다. 문자를 문자열로 변환하는 것도 stringstream 클래스를 사용할 때 동일한 원칙을 따릅니다.
주어진 문자가 스트림에 삽입 된 다음 내용이 문자열에 기록됩니다.
C ++ 프로그램을 사용하여 이것을 명확히합시다.
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< 산출:
단일 문자를 변환하여 얻은 문자열 : A
먼저 문자를 스트림 객체에 삽입 한 다음 해당 버퍼가 문자열 객체에 기록됩니다. 따라서 프로그램의 출력은 단일 문자 인 문자열 객체의 내용을 보여줍니다.
문자형 배열을 문자열로 변환
std :: string 클래스에는 문자 배열을 처리하는 동안 편리하게 사용할 수있는 많은 메서드가 있습니다. 따라서 문자 배열을 문자열 객체로 변환 한 다음 효율적인 프로그램을 작성할 수 있도록 사용하는 것이 좋습니다.
다음과 같이 문자 배열을 문자열로 변환하는 두 가지 방법이 있습니다.
# 1) 문자열 생성자 사용
단일 문자를 문자열로 변환하는 방법에 대해 이미 논의했듯이 문자열 생성자를 사용하여 문자 배열을 문자열로 변환 할 수 있습니다.
기능 프로토 타입 : 문자열 (const char * s);
매개 변수 : s => 문자열로 변환 될 널로 끝나는 문자 배열
반환 값 : string => 변환 된 문자열
기술: std :: string 클래스의이 오버로드 된 생성자는 문자 배열 또는 C-string을 인수로 사용하여 문자열을 반환합니다.
다음 프로그램은이 변환을 보여줍니다.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< 산출:
변환 된 문자열 : 소프트웨어 테스팅 도움말
위의 프로그램은 아주 간단합니다. 주어진 문자 배열을 문자열로 변환하기 위해 std :: 문자열 생성자를 한 번만 호출하면됩니다.
# 2) 사용 = 오버로드 된 연산자
문자 배열을 문자열 객체로 변환하는 또 다른 방법은 오버로드 된 연산자 =를 사용하는 것입니다. 여기서 = 연산자를 사용하여 문자열 객체에 문자 배열을 직접 할당 할 수 있으며 내용은 문자열로 전달됩니다.
다음 예는이를 보여줍니다.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< 산출:
변환 된 문자열 : 소프트웨어 테스팅 도움말
위의 프로그램은 = 연산자를 사용하여 문자열 객체에 배열을 직접 할당하여 문자 배열의 내용이 문자열 객체에 복사되도록합니다.
결론
단일 문자와 문자 배열을 문자열 객체로 변환하는 다양한 방법을 보았습니다. std :: string 클래스에는 문자열을 효율적으로 조작 할 수있는 많은 함수가 있으므로 먼저 문자열로 변환하여 문자 데이터로 작업하는 것이 항상 도움이됩니다.
추가 읽기 = >> Java에서 Char를 Int로 변환
추가 읽기 = >> Java에서 Char를 문자열로 변환
클래스 메서드를 사용하여 문자 데이터를 문자열로 변환 할 수도 있습니다. 여기에서 먼저 데이터를 스트림에 삽입 한 다음이 버퍼를 문자열 객체에 씁니다.
다음 튜토리얼에서는 C ++의 stringstream 클래스와 더 많은 라이브러리 함수에 대해 자세히 설명합니다.
=> C ++ 교육 자습서의 A-Z를 보려면 여기를 확인하십시오.
추천 도서