2010-01-21 5 views
1

실례지만 여기 C++도 GTK +도 모른다.C++, GTK + 및 String 유형

GTK + 위젯에서 문자열을 설정할 때 어떤 문자열 유형이 사용됩니까?

.NET에서 컨트롤에 전달 된 문자열은 분명히 .NET System.String입니다. 코코아에서 컨트롤에 전달 된 문자열은 NSString입니다. 하지만 C++에는 표준화 된 String 유형이 없다는 것을 이해합니다 (실제로 사용되는 라이브러리에 따라 여러 가지가 있습니다).

그렇다면 문자열을 GTK + 위젯에 어떻게 전달합니까?

는 (나는 C 문자열을 생각하고, 그러나 나는 확실히 알고 싶어요.)

+0

그건 그렇고, 당신은 * STL * (** Standard ** Template Library)에서'std :: string'이라는 클래스를 찾아 볼 수 있습니다. 나는 이것이 "표준화 된 C++ String type"으로 간주된다고 생각한다. 당신이 발견했듯이, * universal * 문자열 라이브러리는 없습니다. –

+1

Try Vala : [http://live.gnome.org/Vala] 이것은 네이티브 코드를 생성하고 C++ (IMHO)보다 더 잘 설계된 GTK +의 새로운 언어입니다. – lepe

답변

6

GTK +의 모든 텍스트를한다 UTF-8 인코딩, char *를 사용하여, 물론 const의 가능한. GTK +는 C 언어로 구현되므로 STL을 사용하지 않는다는 것을 기억하십시오.

기본이 입심의 character-set conversion documentation는 진술에 의해 시작됩니다

입심는 문자열을 UTF-8을 사용하고, 입심 를 사용 GTK +와 같은 GUI 툴킷은 같은 일을한다.

+0

나는 이것이 사실이고 그것이 내가 기대했던 것 거의 같다고 가정하고있다. 고마워. –

2

C++에서 Gtk +를 사용하는 경우 네이티브 C 인터페이스를 사용할 수는 있지만 Native C++ 바인딩 인 Gtkmm을 사용해야합니다. GObject 코드를 망칠 필요가 없으므로 훨씬 더 나은 인터페이스입니다.