我知道这是一个基本问题,但我似乎无法将 char 字符串 (\r\n) 附加到另一个。我尝试过使用数组 (strcpy) 和字符串对象,但没有任何进展。要将字符串发送到 Java applet,我需要附加\r\n 字符,否则它只会等待它们。当我使用带有 c_str() 函数的 stirng 时,我得到一个
C:\ucdhb2\gaia\async_ssl\no4\basic.cpp|163|error: request for member 'c_str' in 'readit', which is of non-class type 'std::string*'|
错误。任何帮助将不胜感激。
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
不会溢出。
关于c++ - 试图附加一个 char 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370915/