>백엔드 개발 >C++ >C에서 QString을 std::string으로 어떻게 변환합니까?

C에서 QString을 std::string으로 어떻게 변환합니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 02:51:02756검색

How do I Convert a  QString to a std::string in C  ?

QString에서 std::string으로: 데이터 유형 연결

프로그래밍 여정에서 작업이 필요한 상황에 직면할 수 있습니다. Qt의 QString과 표준 라이브러리의 std::string을 모두 사용합니다. 이 변환은 std::string 중심 컨텍스트 내에서 QString의 기능을 사용하려는 경우 특히 필요합니다.

도전: 호환되지 않는 데이터 유형

직접 시도할 때 std::cout을 사용하여 QString을 콘솔에 출력하면 컴파일 오류가 발생할 수 있습니다. 이는 QString이 std::cout에서 예상하는 std::string 유형을 직접 따르지 않는 Qt 관련 데이터 유형이기 때문입니다.

해결책: QString::toStdString()

QString과 std::string 사이의 간격을 메우기 위해 Qt는 QString::toStdString() 함수를 제공합니다. 이 함수는 QString 내용의 복사본을 std::string으로 생성하여 std::string의 기능을 원활하게 사용할 수 있게 해줍니다.

구현

"qs"라는 QString을 std::string에 추가하려면 다음 코드를 사용할 수 있습니다.

<code class="cpp">std::string str = qs.toStdString();</code>

이제 std::cout을 사용하여 std::string "str"을 출력할 수 있습니다.

<code class="cpp">std::cout << str << std::endl;</code>

유니코드 인식

QString::toStdString()이 내부적으로 QString::toUtf8()을 사용한다는 점에 유의하는 것이 중요합니다. 이는 변환에서 생성된 std::string이 UTF-8 인코딩으로 되어 원래 QString 내의 유니코드 문자를 유지한다는 것을 의미합니다.

참조:

For QString과 그 기능에 대한 포괄적인 이해는 공식 Qt 문서를 참조하십시오: https://doc.qt.io/qt-5/qstring.html

위 내용은 C에서 QString을 std::string으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.