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文件
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();
文件要读取csv更方便