我知道这是一个基本问题,但我似乎无法将char字符串(\ r \ n)追加到另一个。我尝试使用数组(strcpy)和字符串对象,但没有任何进展。要将字符串发送到Java小程序,我需要附加\ r \ n字符,否则它将坐下等待。当我在c_str()函数中使用stirng时,我得到一个



错误。任何帮助,将不胜感激。

        char readit[45];

        cin >> readit;

        strcpy( readit, "\r\n" );

        SSL_write( ssl, readit, strlen(readit));   // This doesn't work
//      SSL_write( ssl, "this works\n\r", strlen("this works\n\r"));  // This works

最佳答案

您需要的是string

std::string readit;
std::getline(std::cin, readit);
readit += "\r\n";
SSL_write(ssl, readit.data(), readit.size());

正如其他评论者所指出的那样,您的示例代码需要使用strcat而不是strcpy。但是,如果要使用char数组,则需要检查缓冲区溢出。 std::string不会溢出。

07-26 08:03