gpt4 book ai didi

c++ - 从 .txt 文件中读取字符串和整数并仅将输出打印为字符串

转载 作者:行者123 更新时间:2023-11-30 03:08:15 25 4
gpt4 key购买 nike

我是 C++ 的新手,我正在尝试编写一个简短的 C++ 程序来读取行来自文件的文本,每行包含一个整数键和一个字母数字字符串值(无嵌入空格)。行数是事先不知道的(即,继续读取行直到到达文件末尾)。该程序需要使用“std::map”数据结构来存储从输入读取的整数和字符串(并将整数与字符串相关联)。然后程序需要将字符串值(但不是整数值)输出到标准输出,每行 1 个,按整数键值(从小到大)排序。因此,例如,假设我有一个名为“data.txt”的文本文件,其中包含以下三行:

10只狗
-50 马
0只猫
-12 斑马
14海象

输出应该是:


斑马


海象

我已将到目前为止在 C++ 程序上取得的进展粘贴在下方:

#include <fstream>  
#include <iostream>
#include <map>
using namespace std;
using std::map;
int main ()
{
string name;
signed int value;
ifstream myfile ("data.txt");

while (! myfile.eof() )
{
getline(myfile,name,'\n');
myfile >> value >> name;
cout << name << endl;
}
return 0;
myfile.close();
}

不幸的是,这会产生以下不正确的输出:



斑马
海象

如有任何人对更改和修改有任何提示、提示、建议等我需要对程序进行修改以使其按需要工作,你能做到吗让我知道?

谢谢!

最佳答案

看到它:

#include <iostream>
#include <string>
#include <fstream>

using namespace std;

int main()
{
string name;
int value;
ifstream myfile("text.txt", ifstream::in);
while(myfile >> value >> name)
cout << name << endl;
return 0;
}

关于c++ - 从 .txt 文件中读取字符串和整数并仅将输出打印为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5214252/

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