請原諒我的無知,但我不知道C++和GTK +。C++,GTK +和字符串類型
在GTK +小部件中設置字符串時使用哪種字符串類型?
在.NET中,傳遞給控件的字符串顯然是.NET System.String。在Cocoa中,傳遞給控件的字符串是NSString。但我知道C++沒有標準化的字符串類型(但實際上有幾個,取決於所使用的庫)。
那麼如何將字符串傳遞給GTK +小部件?
(我想C字符串,但我想知道。)
請原諒我的無知,但我不知道C++和GTK +。C++,GTK +和字符串類型
在GTK +小部件中設置字符串時使用哪種字符串類型?
在.NET中,傳遞給控件的字符串顯然是.NET System.String。在Cocoa中,傳遞給控件的字符串是NSString。但我知道C++沒有標準化的字符串類型(但實際上有幾個,取決於所使用的庫)。
那麼如何將字符串傳遞給GTK +小部件?
(我想C字符串,但我想知道。)
在GTK +的所有文字UTF-8編碼,使用char *
,當然const
在可能的情況。請記住,GTK +是用C語言實現的,因此沒有使用STL。
底層巧舌如簧的character-set conversion documentation開始就指出:
油嘴使用UTF-8的字符串, GUI工具包一樣GTK +使用油嘴 做同樣的事情。
我假設這是真的,它幾乎是我的預期。助教。 –
請注意,如果您在C++中使用GTK +,即使它可以使用原生的C接口,你絕對應該使用Gtkmm,本地C++而不是結合。這是一個更好的界面,因爲您不必混淆任何GObject代碼。
順便說一句,你可能想查看一個名爲'std :: string'的類的* STL *(** Standard ** Template Library)。我相信這被認爲是「標準化的C++字符串類型」。正如你所發現的那樣,沒有* universal *字符串庫。 –
嘗試Vala:[http://live.gnome.org/Vala]它是GTK +的新語言,它生成本機代碼並且其設計比C++(IMHO)更好。 – lepe