开发者

How do I append a string to a char?

开发者_如何学JAVA

How do I append a string to a char? strcat(TotalRam,str); is what i got but it does not support strings


std::String has a function called c_str(), that gives you a constant pointer to the internal c string, you can use that with c functions. (but make a copy first)


Use + on strings:

std::string newstring = std::string(TotalRam) + str;

If you want it as a char[] instead, you need to allocated memory on the heap or stack first. After that, strcat or sprintf are possible options.


You can't append a string to a char, you can only append a string to a string (or a char* if using the C string functions). In your example, you'll have to copy (the char) TotalRam into a string of some sort, either a C++ std::string, or make a char[2] to hold it and the required terminating NULL character. Then you can either use the C++ string with C++ functions or the char[2] with strcat and friends.


for performance, do this:

char ministring[2] = {0,0};
// use ministring[0] as your char, fill it in however you like
strcat(ministring,str);

The char array is stack-allocated so it is extremely fast, and the second char with the value of zero acts as a string terminator so that functions like strcat will treat it as a 'c' string.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜