gpt4 book ai didi

java - C++ 等同于扫描仪的 .nextFloat() 方法?

转载 作者:行者123 更新时间:2023-11-30 02:06:04 29 4
gpt4 key购买 nike

我开始编写 C++,我正在尝试读取格式如下的文本文件:

32.0      12.43
503.2 3.212

等等

在 Java 中,我可以将 Scanner.nextFloat() 一起使用,并将包含的内容放入 Array 中。我正在尝试用 C++ 实现同样的事情。这是怎么做到的?

最佳答案

从标准输入读取

#include <iostream>

int main()
{
float f1, f2, f3, f4;
std::cin >> f1 >> f2 >> f3 >> f4;
}

读取文件

#include <fstream>

int main()
{
std::ifstream fin("file.txt"); //fin is an arbitrary identifier
float f1, f2, f3, f4;
fin >> f1;
fin >> f2;
fin >> f3;
fin >> f4; // or fin >> f1 >> f2 >> f3 >> f4; no difference
}

要将所有 float 读入 float 数组( vector ),您可以使用:

#include <fstream> 
#include <vector>
#include <iterator> //for istream_iterator and back_inserter
#include <algorithm> //for copy

int main()
{
std::ifstream fin("input.txt");
std::vector<float> v; //could also initialize with the two-iterator constructor
std::copy(std::istream_iterator<float>(fin),
std::istream_iterator<float>(),
std::back_inserter(v)); //push_back into vector
}

阅读更多关于流输入/输出的信息 here和其他地方。我还强烈建议您阅读 a good C++ book

关于java - C++ 等同于扫描仪的 .nextFloat() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119989/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com