读取该文件行的最短方法
Shortest way to read this file line?
我有一个由如下行组成的文件:
Alice 60 30 75
Bob 20 250 12
其中名称和整数长度是可变的。把名字放进字符串,把整数放进大小为3的数组,最短的方法是什么?我做了一个getline(),然后把第一个字符推到第一个空格,变成一个字符向量,转移到字符串,然后把下一个字符变成空间,使用atoi()转换,然后发送到数组,等等。我觉得可能有更好的办法?
我试过这样的建议行:
int main() {
ifstream infile("wheelgame.txt");
string s;
vector<int> a(3);
while (cin >> s >> a[0] >> a[1] >> a[2])
{
cout << "test";
}
}
但是我想我误解了?它永远这样运行。
更短的路
std::string s;
std::vector<int> a(3); // or int a[3]; or std::array<int, 3> a;
std::cin >> s >> a[0] >> a[1] >> a[2];
EDIT:将while循环改为从file中读取而不是从stdin(即cin)
while (infile >> s >> a[0] >> a[1] >> a[2]) {
...
}
这个循环不会永远运行
如果您的字符串是字符数组,并且您不想使用STL:
char str[MAX];
int a[3];
fscanf(file, "%s %d %d %d", str, &a[0], &a[1], &a[2]);
相关文章:
- 如何使用curlpp通过POST方法上传文件和json数据
- 一种在C++中读取TXT配置文件的简单方法
- 在 cpp 文件中隐藏采用模板参数引用的方法
- 在C++中包含原型文件的正确方法是什么?
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 不带预处理器的调用方法/文件的文件名/行号
- 引用文件的适当方法是什么?
- 在文件中写入而不是在 c++ 中使用 "<<" 的替代方法?
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 在C++中创建文件夹选取器对话框的最简单方法是什么?
- C++:std::ofstream 方法 open() 在第二次迭代时擦除打开的 ifstream 文件
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 创建进行生产构建并创建调试信息的C++生成文件的最佳方法?
- 是否有正确的方法对生成文件中的对象文件使用模板命令?(C++)
- 将位字符串转储到二进制文件的最佳方法是什么
- 在目录中查找所有.cpp.h文件(include,src等)的传统方法
- 通过boost asio iostream下载大文件的最快方法是什么?
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 在 *.cpp 文件中实现的 c++ 函数/方法永远不会内联扩展吗?