C++:const char*到stringstream

use*_*811 6 c++

是否可以将const char*放入字符串流中?

我认为在stringstream中使用write()函数是可能的,但是如果我只知道const char*,我就无法弄清楚如何获取streamize.

假设size是我的const char*变量:

stringstream s;
s.write(temp,size);
Run Code Online (Sandbox Code Playgroud)

我如何获得尺寸?谢谢.

fpo*_*bin 11

我测试了它,它正常工作......

#include <iostream>
#include <sstream>

using namespace std;

int main()
{
    stringstream s;
    const char* token = "HELLO";
    s << token;
    cout << s.str() << endl;
    return 0;
}

[facu@arch ~]$ g++ p.cpp 
[facu@arch ~]$ ./a.out 
HELLO
Run Code Online (Sandbox Code Playgroud)

  • 只要`char*`指向的数据是文本的(即没有嵌入的空值),这就可以工作; 如果数据可能嵌入了空值,就像在其他线程中一样,这将截断数据. (4认同)
  • C 字符串的长度由终止空字符决定...C++ 中的字符串以空字符终止...因此,如果您只有“HELLO WORLD\0”,则不会出现问题。 ..如果你证明 strlen("HELLO\0WORLD") 它将返回 size = 5 (2认同)