c_str在char *

时间:2015-06-06 11:09:55

标签: c++ string ftp char c-str

我正在构建一个ftp服务器,这是从客户端发送到服务器的消息,用于检查服务器是否批准了文件大小。 我需要在函数write中使用char *,所以我想将字符串转换为char *。字符串结构是fileName#fileSize(test.txt#37)。我试过c_str但最后还是垃圾了。

让我们看看以下代码:

string str(filenameDes);
str += HASHTAG;
str += to_string(fileSize);
cout << "str: " << str << endl;
char * pchar = str.c_str();
// sending file size to server
int retVal = write(socket, pchar, strlen(pchar));

虽然当我想使用cout在服务器中打印消息时,我得到这个输出: test2#37 或接近它的东西,这意味着我最终会变得垃圾。

我如何清理垃圾?或任何其他命令转换为char *?

1 个答案:

答案 0 :(得分:0)

问题在于,当我收到带有char数组的消息时,我没有在所有单元格中使用\ 0进行初始化。当你不知道你会得到多长时间的消息时,这就解决了这个问题。非常感谢PaulMcKenzie。