Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ I/O C++;从文本文件中读取_C++_Io - Fatal编程技术网

C++ I/O C++;从文本文件中读取

C++ I/O C++;从文本文件中读取,c++,io,C++,Io,在我的程序中,我输入了一个文件,文件内部是这样的: 112672500.00200 …这是一条线。按照相同的顺序设置了更多行。我需要将第一个数字11267输入到actnum中。之后,2进入choice,等等。我只是缺乏逻辑来确定如何将前5个数字输入第一个变量 actnum = 11267; choice = 2; 编辑* 我有所有这些: #include <fstream> #include <iostream> using namespace std; void

在我的程序中,我输入了一个文件,文件内部是这样的:

112672500.00200

…这是一条线。按照相同的顺序设置了更多行。我需要将第一个数字
11267
输入到
actnum
中。之后,
2
进入
choice
,等等。我只是缺乏逻辑来确定如何将前5个数字输入第一个变量

actnum = 11267;
choice = 2;
编辑*

我有所有这些:

#include <fstream>
#include <iostream>
using namespace std;



void main()
{
    int trans = 0, account;
    float ammount, bal;

    cout << "ATM" << endl;
#包括
#包括
使用名称空间std;
void main()
{
int trans=0,账户;
浮子弹药;

cout actnum>>choice它如何知道只在其中放置前5个数字?

fscanf是您正在寻找的。它的工作原理与scanf相同,但用于文件

unsigned int actnum, choice;
float float1, float2;

FILE *pInputFile = fopen("input.txt", "r");

fscanf(pInputFile, "%u %u %f %f", &actnum, &choice, &float1, &float2);

fscanf是您正在寻找的。它的工作原理与scanf相同,但适用于文件

unsigned int actnum, choice;
float float1, float2;

FILE *pInputFile = fopen("input.txt", "r");

fscanf(pInputFile, "%u %u %f %f", &actnum, &choice, &float1, &float2);

使用C++ <代码> <代码>库> <代码> fSCANFF()/CUT>稍微过时,您可能会从<代码> <代码>中获得更好的性能,更不用说代码更容易阅读:

#include <fstream>
using namespace std;

ifstream fileInput("C:\foo.txt");
fileInput >> actnum >> choice >> float1 >> float2;
#包括
使用名称空间std;
ifstream文件输入(“C:\foo.txt”);
fileInput>>actnum>>choice>>float1>>float2;
<代码> > p>使用C++ <代码> <代码>库> <代码> fSCANFF()/CUT>稍微过时,您可能会从<代码> <代码>中获得更好的性能,更不用说代码更容易阅读:

#include <fstream>
using namespace std;

ifstream fileInput("C:\foo.txt");
fileInput >> actnum >> choice >> float1 >> float2;
#包括
使用名称空间std;
ifstream文件输入(“C:\foo.txt”);
fileInput>>actnum>>choice>>float1>>float2;

> 1,C++的方式。只需一个建议:明确地说:<代码>输入>文件FielsFiels是<代码> STD::IFSturis/Cuff>,并指向OP到文档。{ int Trime= 0,帐户;浮点AbMaunt,BAL;CUTAcNUMU> >选择它如何知道将前5个数字放入其中?这是5个数字,但是一个单一的数字。当你提取一个整数时,它读取它可以解释一个整数,而空间标记它的结尾。+ 1用于C++的方式。清除
input_file_stream
是一个
std::ifstream
,并将OP指向文档i have all that:#include#include using namespace std;void main(){int-trans=0,account;float-amount,bal;cout-actnum>>选择它如何知道只放入前5个数字?这是5位数字,但只是一个数字。当你提取一个整数时,它在读取的同时可以解释一个整数,空格标记它的结尾。+1快速删除“而且你可能会从
中获得更好的性能。”在一些微优化出现之前,dude会无缘无故地对你投反对票。@muntoo lol如果它运行得更快,他们应该会很高兴:)此外,即使它运行得不快,可读性也是一个显著的优势(特别是在C++中)我有所有这些:#include#include使用名称空间std;void main(){int-trans=0,account;float-amount,bal;cout-actnum>>选择它如何知道只将前5个数字放入其中?@Brisil
iostream
fstream
,以及类似的i/o库都是以空格分隔的。这意味着当它们输入一个空格时,它们将停止并将其余的输入保存到下一个ca所以当你把
fileInput>>actnum>>…
放在文件中的空格处,然后把下一个数字输入到下一个调用中的变量中(
…>>choice>>float1…
)+1,快速删除“并且你可能会从
中获得更好的性能”“在一些微优化变得邪恶之前,花花公子会出现并无缘无故地否决你。@muntoo lol如果它运行得更快,他们应该会很高兴:)而且,即使它运行得不快,可读性也是一个显著的好处(特别是在C++中)。我有所有这些:#include#include使用名称空间std;void main(){int-trans=0,account;float-amount,bal;cout-actnum>>选择它如何知道只将前5个数字放入其中?@Brisil
iostream
fstream
,以及类似的i/o库都是以空格分隔的。这意味着当它们输入一个空格时,它们将停止并将其余的输入保存到下一个ca所以当你把
fileInput>>actnum>>…
放在文件中的空格处时,它会停止,并将下一个数字输入到下一个调用中的变量中(
…>>choice>>float1…
)虽然这是使用C stdio库而不是C++的fstream,但我发现简洁的格式字符串更具可读性。尤其是对于更复杂的格式。不要忘记在程序开始时使用
#include
,否则这将无法编译如果你要这样做,最好使用
#include
。在这是使用C STDIO库而不是C++的FString,我发现简洁的格式字符串更可读,尤其是更复杂的格式。不要忘记<代码> >包含程序,否则将不编译,如果你要走这条路,最好是<代码>包含“< /代码>”。它应该更好地用C++来播放。