从标准中读取字符串
Reading String From Stdin
我有这个代码从stdin
读取到char*
。有可能直接进入std::string
吗?
int size = std::atoi(m_content_size);
char* buffer;
buffer = (char*)malloc(size);
fread(buffer, 1, size, stdin);
...
free(buffer);
我想我可以做std::string sBuffer(buffer)
,但我希望有一个更好的选择。
谢谢。
您可能应该读入一个字符左右的向量,这样如果您真的有任意二进制数据,就不会给人留下"文本"的印象:
#include <iostream>
#include <vector>
// ...
std::vector<char> buf(size);
std::cin.read(buf.data(), buf.size());
// all done, will clean up after itself!
int size = std::atoi(m_content_size);
std::string buffer(size);
fread(&buffer[0], 1, size, stdin);
尽管您可以使用cin
(以及更适合的容器,如果它不是字符串而只是原始二进制数据)
相关文章:
- 如何使用Luacneneneba API正确读取字符串和表参数
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 如何从字符串C++读取多个整数
- 使用字符串读取的字符串
- 从文件到字符串读取并传递到功能
- C++ cin 将字符串读取到 int 类型中返回 0
- 使用CIN和/或字符串读取带有混合输入的文本文件
- 将两个字符串作为一个字符串读取
- 如何将WCP 1252字符串读取为std::tstring
- 如何将字符串读取为字符串向量或将整数读取为整数向量
- 将一系列字符串读取到char数组中
- 如何在 c++ 中将文件中的段落作为单个字符串读取
- 从 txt 文件中将后缀表达式作为字符串读取
- C++银行项目;如何将一组字符串读取为单独的浮点数并添加它们
- 在 c++ 中循环字符串读取器
- 将字符串读取为命令行参数C++
- 如何在QT中使用QDomDocument对象将字符串读取为XML
- 使用Matio库将.mat文件中的字符串读取到C++中
- 作为字符串读取第一列数据文件
- 如何在字符串读取完成时停止c++的recv() ?