看长风破浪 2022-05-27 17:06 采纳率: 75%
浏览 186
已结题

读取txt文件时文件的空格无法读取

C++读取TXT文件,TXT内留有空格,但是输出后没有空格,请问如何解决(希望实际运行的效果和TXT原文件效果一样,在easyx图形界面显示)
有关读文件的代码如下:

inline void before::readFile(const std::string& fileName)
{
    fstream read(fileName, ios::in);
    if (!read.is_open())
        return;
    //读取表头
    char buf[1024] = { 0 };
    read.getline(buf, 1024);
    m_header = buf;
    outtextxy(100, 100, buf);
    cout << buf << endl;
    int m=100, n=50;
    //读取数据
    while (!read.eof())
    {
        n += 50;
        char data[1024] = { 0 };
        read.getline(data, 1024);
        //跳过空行
        if (strlen(data) == 0)break;
        Data dt;
        stringstream ss(data);
        ss >> dt.number >> dt.name >>  dt.chuliqi >>
            dt.dianchi >> dt.price>>dt.star>>dt.special;
        vec_dt.push_back(dt);
        setbkmode(TRANSPARENT);
        settextstyle(30, 0, "微软雅黑");
        settextcolor(RED);
        outtextxy(100, 70, buf);
        outtextxy(m, n,data);
    }
    read.close();
}

问题截图
TXT文件

img


实际运行图

img

  • 写回答

3条回答 默认 最新

  • 赵4老师 2022-05-27 17:17
    关注
    char ln[1000];
    sprintf(ln,"%6s%10s%12s%6s%16s%6s%12s",
    dt.number.c_str(),dt.name.c_str(),dt.chuliqi.c_str(),dt.dianchi.c_str(),dt.price.c_str(),dt.star.c_str(),dt.special.c_str());
    outtextxy(m, n,ln);
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 修改了问题 5月27日
  • 创建了问题 5月27日