读取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

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);

这样可以


ifstream readFile("文件存储地址");
      char temp[1024] = {0};

//      readFile >> temp;     //遇到空格输出停止,空格后的内容无法输出,'\0'是截止符

      readFile.getline(temp, 100);   //按行读取

      cout << temp << endl;

      readFile .close();

img

文件要读取csv更方便