#include<stdio.h>
#define BUFFSIZE 5000
void main()
{
FILE * sfp,* dfp
int i
char buf[BUFFSIZE]
if((sfp=fopen("C:\\sfile.txt","r"))==NULL)/*以只读方式打开*/
{
printf("Source file cannot be opened\n")
exit(1)
}
if(!(dfp=fopen("C:\\dfile.txt","w")))/*以只写方式打开*/
{
printf("Destination file cannot be opened\n")
exit(1)
}
i=0
while(!feof(sfp))/*判断是否文件尾,不是则循环*/
{
buf[i++]=fgetc(sfp)/信卜毁*读出数据送缓冲区*/
if(i>=5000) /*若i超出5000,程序设置的缓冲区不足*/
{
printf("buffer not enough!")
exit(1)
}
}
while(--i>弊简=0) /*控制反序 *** 滑备作*/
fputc(buf[i],dfp) /*写入目的文件中*/
fclose(sfp)
fclose(dfp)
}
//从键盘输入字符后,写入到磁盘文件datafile1.txt中
#include<stdio.h>
void main()
{
FILE * fp1
char str1
if((fp1=fopen("C:\\datafile1.txt","w"))==NULL)
{
printf("file cannot be opened\n")
exit(1)
}
while((str1=fgetc(stdin))!='\n')
fputc(str1,fp1)
fclose(fp1)
}
//读出磁盘文件datafile.txt中的内容,将它们显示在屏幕上
#include<stdio.h>
void main()
{
FILE * fp
char str1
if((fp=fopen("C:\\datafile.txt","r"))==NULL)
{
printf("file cannot be opened\n")
exit(1)
}
while((str1=fgetc(fp))!=EOF)
fputc(str1,stdout)
fclose(fp)
}
你的删除有问题if(strcmp(head->name,name)==0)
head=head->备携悄next
else{
for(p=head->nextp&&strcmp(p->next->仿渣name,name)p=p->next)
q=p
if(p->next!=NULL)
q->next=p->next
else
printf("员工资料中没有此人的记录.\n")
}
你原来的删除如果删除隐判的是表头结点的话会出错
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)