| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 416 人关注过本帖, 1 人收藏
标题:C++问题
只看楼主 加入收藏
爱海松涛
Rank: 3Rank: 3
来 自:安徽合肥
等 级:论坛游侠
帖 子:120
专家分:197
注 册:2011-2-25
结帖率:83.33%
收藏(1)
已结贴  问题点数:0 回复次数:1 
C++问题
如何用链表从一个txt文件中读取信息,然后对信息进行操作,最好可以给出代码,谢谢。。
搜索更多相关主题的帖子: 如何 信息 最好 
2011-06-27 15:41
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:50 
#include<fstream.h>
#include<string.h>
#define N 100

typedef struct block{//文件以链表形式放入内存
char a[N];
struct block *next;
}block;

void destroy(block *head){//链表的销毁,释放内存
block *p;
while(head!=NULL){
p=head;
head=head->next;
delete p;
}
}

void main(){
char *pc;
block *head=new block;
head->next=NULL;//初始化链表
block *p=head;

ifstream txt("input.txt",ios::in);
while(1){//文件内容转入链表
txt.getline(p->a,N);
if(txt.eof()||p->a[0]=='\0')break;//文件结束或在文件中遇到空行则停止循环
p->next=new block;//分配一个新链表结点
p=p->next;
p->next=NULL;
}
txt.close();//关闭文件

p=head;
while(p!=NULL){//输出链表内容到屏幕
cout<<p->a<<endl;
p=p->next;
}

p=head;
while(p!=NULL){//查找替换,遇到789就删除,遇到this就替换
for(pc=p->a;*pc!='\0';pc++){//查找该行有无需要替换的字符串
if(strncmp(pc,"789",3)==0)strcpy(pc,pc+3);//查找是否有789开头的串,有则删除789
if(strncmp(pc,"this",4)==0){//查找是否有this开头的串,有则替换为that
pc[2]='a';
pc[3]='t';
}
}
p=p->next;
}

p=head;
while(p!=NULL){//输出新链表内容到屏幕
cout<<p->a<<endl;
p=p->next;
}

p=head;
ofstream txt2("input.txt",ios::trunc);
while(p!=NULL){//输出新链表内容到文件
txt2<<p->a<<endl;
p=p->next;
}
destroy(head);//销毁链表,释放内存
}
2011-06-29 15:40
快速回复:C++问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036322 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved