我知道这是一个基本问题,但我似乎无法将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
不会溢出。