关于C++读写txt文件的数据定位问题

Ares_Z 2017-10-20 11:37:46
while(!(readFile >> bookId >> peopleId >> bookClassT >> price >> name >>publisher
>> author >>publishDate >> borrowTime >> borrowFlag >> isReservedFlag >> isPreservedFlag
>> isLated >> isDeleted)){

cout << bookId <<"--"<< peopleId <<"--"<< bookClassT<<"--" << price <<"--"<< name <<"--"<<publisher<<"--"
<< author<<"--" <<publishDate<<"--" << borrowTime<<"--" << borrowFlag<<"--" <<isReservedFlag<<"--" << isPreservedFlag<<"--"
<< isLated<<"--" << isDeleted;

if(count == 4){
break;
}
count++;

}

我是想实现从books.txt文件里面一行一行地读取数据,然后把每个数据(TXT文件里会以空格隔开)分别存入到我定义的不同类型的变量上来(类型都符合一开始文件里的数据定义格式),但是测试返回的数据的时候,遇到了乱码……

小弟在网上找了好些方法,这个是最近找到的,但是不是直接使用“readFile >>”的时候每行的数据不是按空格分离,一个个对应存入变量里面么?我之前查找的方法似乎上面的解释是对应变量按空格一个个分开放进去变量里……只要定义变量的范围没问题的话……一开始while()里面用的是eof,但是这个结尾会出现些问题,所以换成了以上的用法,不知道有没有大佬有经验……提点一下我这只菜鸟谢谢了……
...全文
189 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ares_Z 2017-10-20
  • 打赏
  • 举报
回复
fstream readFile("books.txt"); unsigned int bookId; unsigned int peopleId; int bookClassT; float price; char name[20]; char publisher[20]; char author[8]; char publishDate[10]; char borrowTime[10]; bool borrowFlag; bool isReservedFlag; bool isPreservedFlag; bool isLated; bool isDeleted; int count = 1; 这是前面定义的内容

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧