c++ - 试图附加一个 char 字符串

标签 c++ arrays string variables

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

相关文章:

c++ - 将对象移动到不同的线程

javascript - 如何将字符串与数组中对象的值进行比较

c++ - 如何获取 C++ 字符串流的结尾?

linux - 使用 SED 从文本文件中的值生成特定格式(逐行)

C++ sscanf 空格分隔的字符串

c++ - CStrings 和指针 : Heap corruption when trying to delete a character array

c++ - “CalucateNumbers”缺少异常规范 'noexcept'

c - 为什么数值数组不以 '\0' 或空字符结尾?

javascript - 在两个 JavaScript 数组中查找元素并将每个数组存储为不同的元素

javascript - JavaScript 提取 Json 时将数组元素转换为 String