社区
C++ 语言
帖子详情
关于文件尾的问题?
bill1973
2005-05-14 11:44:24
我写作业的时候常要从文件中读数据。
片段如下
ifstream file("...");
while(file.good()){
file>>...
}
但是文件尾标志总是作为一个数据读入后才结束,所以我还得加一段判断数据,好难看。 不知各位有什么好招吗?
...全文
196
7
打赏
收藏
关于文件尾的问题?
我写作业的时候常要从文件中读数据。 片段如下 ifstream file("..."); while(file.good()){ file>>... } 但是文件尾标志总是作为一个数据读入后才结束,所以我还得加一段判断数据,好难看。 不知各位有什么好招吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flying_dancing
2005-05-15
打赏
举报
回复
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream fin("input.dat");
char *s=new char [1024*1024];
int k=0;
while(fin.get(s[k++]))
s[k]='\0';
cout<<s<<endl;
fin.close();
system("PAUSE");
return 0;
}
bill1973
2005-05-15
打赏
举报
回复
我是用的c++ 在unix g++ 下编译,不是vc。
file.good() 是判断是否文件读完,这是文件流的一个函数,我看和file.eof 是一样的 (高手说一下有什么区别)
程序不出错,只是有点 ugly
bill1973
2005-05-15
打赏
举报
回复
ifstream file("MRO.dat");
if(!file){
cerr<<"unable to open: MRO.dat"<<endl;
return -1;
}
int counter=0; //number of customer
while(file.good()){
CPtr CurCPtr = new Customer;
CurCPtr->no = ++counter;
file >> CurCPtr->time;
file >> CurCPtr->surname;
file >> CurCPtr->transaction;
file >> CurCPtr->payment;
//check whether is end of file
if (CurCPtr->payment !='C' && CurCPtr->payment !='$'){
delete CurCPtr;
break;
}
//SignInQ.AddToTail(CurCPtr);
EPtr CurEvent = new Event;
CurEvent->cr = CurCPtr;
CurEvent->eventTime = CurCPtr->time;
CurEvent->nature = CUSTOMER_ARRIVAL;
EventQ.AddToTail(CurEvent);
}
file.close();
xuzheng318
2005-05-15
打赏
举报
回复
#include "stdio.h"
#include "string.h"
#define N 5
struct student
{
char NO[8];
char name[10];
}stu[N],stu2;
char s_NO[8];
void main()
{
FILE *fp;
fp=fopen("e:\\read.txt","wb");
int i;
printf("enter students info(3 people):\n");
for(i=0;i<3;i++)
{
scanf("%s %s",stu[i].NO,stu[i].name);
fwrite(&stu[i],sizeof(student),1,fp); /* 整个结构体写入 */
}
fclose(fp);
fp=fopen("e:\\read.txt","rb");
printf("enter search NO.:");
scanf("%s",s_NO);
int flag=0;
while(!feof(fp)) /* 是否到文件尾 */
{
fread(&stu2,sizeof(student),1,fp); /* 整个结构体读出 */
if (strcmp(stu2.NO,s_NO)==0)
{
printf("search success.\n"); /* 找到了 */
flag=1;
break;
}
}
if (flag==0)
printf("search failed.\n"); /* 未找到 */
fclose(fp);
}
bill1973
2005-05-15
打赏
举报
回复
强调一下:
我是想用 file>>... //因为我用它读数据而不是字符串,这样简洁
我希望解决的是不要下面一段的办法
/*check whether is end of file ,这一段是因为文件结束标志做为数据被读入了,产生一个假数据*/
if (CurCPtr->payment !='C' && CurCPtr->payment !='$'){
delete CurCPtr;
break;
}
llf_hust
2005-05-15
打赏
举报
回复
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream fin("input.dat");
char *s=new char [1024*1024];
int k=0;
while(fin.get(s[k++]))
; //这里应该加个分号吧
s[k]='\0';
cout<<s<<endl;
fin.close();
system("PAUSE");
return 0;
}
csolution
2005-05-14
打赏
举报
回复
file.good()? 请说详细一点,这样没有人能明白你说的。
如何解决PS“不能完成请求,因为意外的遇到
文件
尾
”?
好多朋友应该遇到过这种
问题
,当我们用ps打开
文件
时,出现遇到意外的
文件
尾
怎么处理,今天我来分享一下我的经验。 一、我们需要判断一下
文件
是否损坏,找到一款可以查看psd
文件
的图片查看器,看是否可以看到图片的...
shell中的more命令①从
文件
首开始查看如何直接查看
文件
尾
?②怎样从
文件
尾
开始查看?
more命令①从
文件
首开始查看如何直接查看
文件
尾
?②怎样从
文件
尾
开始查看?
苹果手机Java在那_iPhone8描述
文件
在哪?iPhone描述
文件
不见了如何解决?
相信不少朋友使用iPhone8手机时,打开系统设置时会遇到里面没有描述
文件
这一
问题
,那么iPhone8描述
文件
没有了该怎么解决呢?下面我就来为大家介绍一下iPhone8描述
文件
没有了的解决方法,一起来看看具体操作吧!苹果8...
VS编程,提示【以下
文件
中的行
尾
不一致。是否将行
尾
标准化?】的一种解决方法。
原因分析: 可能是写代码的时候行
尾
的标识可能不一样造成的。默认情况下是坐对行
尾
进行检查。 解决办法有两种: ...当然如果出现乱码可能是因为编码的
问题
,可以启用UTF-8的检测,在工具->选项-...
以下
文件
中的行
尾
不一致,要将行
尾
标准化吗?
原因分析:可能是写代码的时候行
尾
的标识可能不一样造成的。默认情况下是坐对行
尾
进行检查。 ...当然如果出现乱码可能是因为编码的
问题
,可以启用UTF-8的检测,在工具->选项->文本编辑器->
C++ 语言
64,702
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章