如何將字符串附加到char? strcat(TotalRam,str); 是我得到的,但它不支持字符串如何將字符串附加到char?
1
A
回答
2
std :: String有一個名爲c_str()的函數,它爲您提供了一個指向內部c字符串的常量指針,您可以將它用於c函數。 (但要複印一份)
2
使用+
對字符串:
std::string newstring = std::string(TotalRam) + str;
如果你想把它當作一個char[]
相反,你需要分配的內存在堆或疊第一。之後,strcat
或sprintf
是可能的選項。
0
性能,這樣做:
char ministring[2] = {0,0};
// use ministring[0] as your char, fill it in however you like
strcat(ministring,str);
的字符數組被堆棧分配所以它是非常快,並且第二炭與作爲字符串終止子的零種行爲的值,使得等strcat的功能將把它當作'c'字符串。
2
不能追加一個字符串爲char,你只能在一個字符串(如果使用的是C字符串函數或一個char *)添加到字符串。在你的例子中,你必須將(字符型)TotalRam複製到某種類型的字符串中,或者是C++ std :: string,或者使用char [2]來保存它,並且需要終止NULL字符。然後,您可以使用C++字符串與C++函數或char [2]與strcat和朋友。
我無法正確理解那種可能引發這樣一個問題的思想混亂。 – wilhelmtell 2010-02-10 03:45:28
@wilhelmtell,請尊重人們在不同的地方尋求掌握他們生活中不同點的節目。 – 2010-02-10 03:49:00
你是否試圖從'char'和'std :: string'對象創建一個新的'std :: string'?換句話說,你是否想把一個長度爲1的std :: string與其他任意字符串結合起來? – 2010-02-10 04:01:50