关于c语言文件的一些问题,关于C语言里面文件的写入和读出问题

/*运行程序按1可以创建并且在一个文本文件里写入保存数据,再重新运行,按3,无法读出,而且原文本文件的内容都空了*/

#include

#include

#include

#define N 100

struct product

{

int num;                       //设备编号

char type[20];             //设备类型

};

FILE *fp;

void input(struct product *p);

void scan(struct product *p);

int system(const char *string);

int main()

{

struct product pro[N];

int i;

int number=0;

if((fp=fopen("test1.txt","wt"))==NULL)

{

printf("不能打开文件.\n");

exit(1);

}

fwrite(&number,sizeof(int),1,fp);

fclose(fp);

printf("* 1.添加新设备                        3.浏览设备信息          *\n");

printf("请用数字选择你需要的功能:");

scanf("%d",&i);

system("cls");                  //清屏操作

switch(i)

{

case 1: input(pro);break;

case 3: scan(pro);break;

}

return 0;

}

void input(struct product *p)               //写入

{

char str[20];

int n;

if((fp=fopen("test1.txt","wt+"))==NULL)

{

printf("不能打开文件.\n");

exit(1);

}

rewind(fp);

fread(&n,sizeof(int),1,fp);

n++;

rewind(fp);

fwrite(&n,sizeof(int),1,fp);

fclose(fp);

if((fp=fopen("test1.txt","at+"))==NULL)

{

printf("不能打开文件.\n");

exit(1);

}

printf("输入设备编号:");

scanf("%s",str);

p->num=atoi(str);

fwrite(&(p->num),sizeof(int),1,fp);

printf("输入设备类型:");

scanf("%s",p->type);

fwrite(p->type,sizeof(char),1,fp);

fclose(fp);

}

void scan(struct product *p)               //浏览 读出

{

int i,n;

int num;

char type[20];

if((fp=fopen("test1.txt","rt"))==NULL)

{

printf("error on delete!");

exit (1);

}

rewind(fp);

fread(&n,sizeof(int),1,fp);

for(i=0;i

{

fread(&num,sizeof(int),1,fp);

fread(type,sizeof(char),1,fp);

printf("%d    %s   \n",num,type);

}

fclose(fp);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值