qt如何用ifstream

gaelookair 2010-12-26 09:43:50
以下是代码,目的是输出一组数种第二大的数,编译时没报错,但是运行时没输出任何数据
a.txt在项目目录下
#include<iostream>
#include<fstream>
#include<set>
#include<sstream>
using namespace std;
int main()
{
ifstream cin("a.txt");
for(string s;getline(cin,s);)
{
istringstream sin(s);
set<int> er;
for(int n;sin>>n;)
er.insert(n);
set<int>::reverse_iterator it=er.rbegin();
it++;
cout<<*it<<endl;
}

}
...全文
1223 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbzhang800 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gaelookair 的回复:]

没有朋友知道的吗?帮个忙乎?
[/Quote]
我的观点和1楼一样,这个和Qt有什么关系?

莫非你不了解 程序工作路径、程序所在路径 等概念的区别。
gaelookair 2010-12-28
  • 打赏
  • 举报
回复
没有朋友知道的吗?帮个忙乎?
巴依老爷 2010-12-27
  • 打赏
  • 举报
回复
cin是标准输入设备,换个名字试试
f23505106 2010-12-27
  • 打赏
  • 举报
回复
这个跟Qt有什么关系?
这个哪里有问题不好说,创建ifstream判断文件是不是打开成功了,如果文件打开正常,输出下读入的行数看是不是正常,把所有的数都输出一下看是不是正常,后面的代码都建立在前面正常的基础上
gaelookair 2010-12-27
  • 打赏
  • 举报
回复
同样的代码同样的文件,在vs里都运行成功的
gaelookair 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 f23505106 的回复:]

这个跟Qt有什么关系?
这个哪里有问题不好说,创建ifstream判断文件是不是打开成功了,如果文件打开正常,输出下读入的行数看是不是正常,把所有的数都输出一下看是不是正常,后面的代码都建立在前面正常的基础上
[/Quote]

#include<iostream>
#include<fstream>
#include<set>
#include<sstream>
using namespace std;
int main()
{
ifstream aain("a.txt");
if(!aain)
cerr<<"wrong";
for(string s;getline(aain,s);)
{
istringstream sin(s);
set<int> er;
for(int n;sin>>n;)
er.insert(n);
set<int>::reverse_iterator it=er.rbegin();
it++;
cout<<*it<<endl;
}

}
我改动后的代码,输出了wrong
想知道文件为什么不能打开

16,817

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧