我有一個簡單的問題,我認爲我只是在做一些愚蠢的事情導致SEGFAULT。將double轉換爲字符串。 Boost庫似乎不工作,並導致「SEG FAULT」
我只是想將一個雙變量轉換爲一個字符串,然後將它們'strcat()'放在一起,並將生成的連接字符串放入GTK標籤中。 (這應該是簡單的,肯定?!)
這裏是我的代碼段:
double fps_target = 2.71828
std::string fps_target_string;
std::stringstream convert;
convert << fps_target;
fps_target_string = convert.str();
g_print("seg fault occurs below");
label_fps_target = gtk_label_new(strcat("FPS Target: ",
(const char*) fps_target_string.c_str()));
爲什麼不能正常工作? :(
我嘗試使用升壓:: lexical_cast的事情,但沒有奏效。
double fps_target = 3.14159;
const char* fps_target_string = (const char*) (boost::lexical_cast<std::string>(fps_target));
任何幫助是極大的讚賞。如果這兩種方法的作品,這將是真棒,但我不真的很困擾如何做到這一點,只要我可以得到一個字符串的雙重貓!
Aaach!當然,非常感謝這麼多人。我知道我在做一些愚蠢的事情! – user3728501 2012-08-07 17:18:16
很高興幫助。歡迎來到Stack Overflow。 – 2012-08-07 17:45:38