std::messages<CharT>:: get, std::messages<CharT>:: do_get
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
messages::get
messages::do_get
|
||||
|
헤더에 정의됨
<locale>
|
||
|
public
:
string_type get ( catalog cat, int set, int msgid, const string_type & dfault ) const ; |
(1) | |
|
protected
:
virtual string_type do_get ( catalog cat, int set, int msgid, const string_type & dfault ) const ; |
(2) | |
do_get
를 호출합니다.
목차 |
매개변수
| cat | - | open() 로부터 획득하고 아직 close() 에 전달되지 않은 메시지 카탈로그의 식별자 |
| set | - | 구현 정의 인자, POSIX에서의 메시지 세트 |
| msgid | - | 구현 정의 인자, POSIX에서의 메시지 ID |
| dfault | - | 카탈로그에서 검색할 문자열(카탈로그가 문자열 검색을 사용하는 경우) 및 실패 시 반환할 문자열 |
반환값
카탈로그로부터의 메시지 또는 발견된 것이 없는 경우 dfault 의 사본.
참고 사항
POSIX 시스템에서 이 함수 호출은 일반적으로
catgets()
호출로 변환되며, 매개변수
set
,
msgid
, 그리고
dfault
가
catgets()
에 그대로 전달됩니다. GNU libstdc++에서는 이 함수가
set
과
msgid
를 무시하고 단순히 해당 로케일에서 GNU
gettext
(
dfault
)
를 호출합니다.
예제
다음 예제는 메시지 검색 방법을 보여줍니다: 일반적인 GNU/Linux 시스템에서는
/usr/share/locale/de/LC_MESSAGES/sed.mo
에서 읽어옵니다.
#include <iostream> #include <locale> int main() { std::locale loc("de_DE.utf8"); std::cout.imbue(loc); auto& facet = std::use_facet<std::messages<char>>(loc); auto cat = facet.open("sed", loc); if (cat < 0) std::cout << "Could not open german \"sed\" message catalog\n"; else std::cout << "\"No match\" in German: " << facet.get(cat, 0, 0, "No match") << '\n' << "\"Memory exhausted\" in German: " << facet.get(cat, 0, 0, "Memory exhausted") << '\n'; facet.close(cat); }
가능한 출력:
"No match" in German: Keine Übereinstimmung "Memory exhausted" in German: Speicher erschöpft
참고 항목
웹페이지의 텍스트를 한국어로 번역합니다: HTML 태그나 속성은 번역하지 마십시오. 원래 서식을 유지하십시오.
,
,