JOKECHEN66 2019-03-06 09:15 采纳率: 100%
浏览 325
已采纳

关于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文件和源代码在同级目录中。

  • 写回答

2条回答 默认 最新

  • 窝米逗佛~ 2019-03-06 09:41
    关注

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

    另外附一个通常的写法

    #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;
    }
    
    
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题