关于C++的文件操作和getline()的问题?

各位可以帮我看一下这段代码有没有错误(刚刚接触C++的文件操作,可能错误不止一点点):

#include <iostream>
#include <fstream>
#include <sstream>

using namespace std;

int main()
{
    ifstream in("abc.txt");
    for(string str,getline(in,str);){
        //(具体操作);
    }
    return 0;
}

为什么总在getline那行代码报错呢?abc.txt文件和源代码在同级目录中。

c++
-3

2个回答

额,没见过你这种写法呢 ,如果是伪代码的话,应该是没找到文件 ,不过具你说应该不可能,那么文件中有数据么?没数据会直接退出循环

另外附一个通常的写法

#include <iostream>
#include <fstream>
#include <sstream>

using namespace std;

int main()
{
    ifstream in( "abc.txt" );
    string str;
    while ( getline( in, str ) )
    {
        cout << str << endl;
    }
    return 0;
}


图片说明

-2
d2262272d
潇潇-易水 回复刚会码程序的咸鱼: 对了,看你应该是菜鸟,就对说一句for循环一般格式为for ( ;; ) // 这个就等于while(true)
4 个月之前 回复
d2262272d
潇潇-易水 回复刚会码程序的咸鱼: 写到是可以写,你写成for ( string str; getline( in, str ); )也是可以的,但是一般没有这么做事的,首先一个就是不利于书写并且不好读懂,我打个比方吧,比如你做题,题的答案5*100=500 就可以了,但是你要写5+5+5+...+5=500,也不能说你错,但是你这个整法....
4 个月之前 回复
weixin_43812804
玉斝 谢谢,按你这个写法很快就写好了。但是文件里面是有内容的,所以我这种写法为什么 不对呢?
4 个月之前 回复

你的程序根本不能编译吧

#include <iostream>
#include <fstream>
#include <sstream>

using namespace std;

int main()
{
    ifstream in("abc.txt");
    string str;
    for(;getline(in,str);){
        //(具体操作);
    }
    return 0;
}

abc.txt文件和源代码在同级目录中
这个不行,你不带路径只有文件名,如果是vc++,默认是vs启动的路径,也就是exe所在的路径。
你最好是用完整路径试试看

0
weixin_43812804
玉斝 明白了,非常感谢
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

2
关于C++的文件操作和getline()的问题?
2
求问一个c++栈和内存存储的问题!!!!!!!!!!!
1
有关cgal运行小demo的问题
3
为什么c++文件会比c文件大很多?具体的差异在哪里?
0
no kernel image is available for execution on the device,计算能力不匹配的问题?
5
Opencv里vector的问题
1
最近在做一个项目,然后发现了一个奇怪的问题,让我百思不得其解,看来我对C++的理解还是太年轻了
4
如何用C++调用jeesite的库中的内容
1
c++拆数并判断出现问题
4
问一个很愚蠢的基础问题,p=p->next链表循环里,为什么这样不会覆盖掉链表的值啊
1
CSP认证2018-12月第二题,找不出问题,提交上去就是0分,望大神解答~
5
求问一下为什么C++中在类的成员函数中使用switch语句对enum类型做分支选择时会提示请输入标识符?
2
C++,dll的返回类型是vector,该如何将其转换成什么类型的数据方便C#接受?谢谢各位大神!
0
要求不能对齐的铺砖问题
3
C++为什么下面代码会是个死循环,求解释?
0
QSerialPort向NovAtel OEM6 GPS接收机传递指令遇到了问题
2
归并排序问题,代码是按照教学视频打的,为什么会出错,显示一些奇奇怪怪的数字
1
c++为什么在宏定义大于4万以后就会出错?
0
关于使用Basy3板进行FPGA设计的小游戏
0
如何用c++计算图像各区域边界点的傅里叶描绘子并用四分之一点重建边界