C语言链表和文件操作
发布时间:2025-05-12 17:20:58 发布人:远客网络
一、C语言链表和文件操作
1、扩展名为xls的文件是office的excel文件,这是一种二进制文件。(当然不排除是一种挂羊头卖狗肉的文本文件,这种情况不考虑。)
2、你说你能写进去,貌似看你用了fprintf写文件吧,没错,但是fprintf是写文本文件的,按一定格式写的文本。你用\t作分隔输出的文件类似逗号分隔的csv文件,是可以被Excel识别并打开的,没错。
3、但是,fread是读取二进制文件的函数,如果文件中是纯文本,你用fread去读当然是错的,如果文件中是二进制,你用fread也不可能读成你想要的结构体。如果你的xls文件是Excel的原生二进制文件,那就更不可能是你用fread能读出来的,得用专门的库,如微软官方的office com库。
4、不知你明不明白二进制文件和文本文件的区别.
5、当然如果你读的那个xls文件就是你用fprintf写进去的文件,请用fscanf函数按照写时候的格式去读才行。自己看看fscanf函数,跟scanf类似。
二、c语言 商品管理系统
printf("\n\t\t\t商店销售管理系统\n\n");
printf("\t\t**********************************************\n\n");
printf("\t\t 1--添加商品 2--出售商品\n\n");
printf("\t\t 3--删除商品 4--显示商品\n\n");
printf("\t\t 5--查找商品 0--退出系统\n\n");
printf("\t\t**********************************************\n\n");
printf("请输入商品名称、数量以及价格:");
scanf("%s%d%lf",x.name,&x.shuliang,&x.jiage);
if((cp=fopen("shangpin.txt","a+"))==NULL)//打开文件
{printf("文件打开失败!");return;}
fseek(cp,0L,SEEK_SET);//将文件指针移动到文件开头
fscanf(cp,"%s%d%lf",x.name,&x.shuliang,&x.jiage);//读取文件的内容
charu(s,x);//把读到的数据插入到链表上
if((cp=fopen("shangpin.txt","w+"))==NULL)
{printf("文件打开失败!");return;}//同上
fprintf(cp,"%s%d%.2lf",p->data.name,p->data.shuliang,p->data.jiage);//写入文件中,并且以空格隔开
if(p->data.biaohao==m)return p;
if(p->next->data.biaohao==m)return p;
printf("%10s%20s%10s%10s\n","商品编号","商品名称","商品数量","商品价格");
printf("%10d%20s%10d%10.2f\n",p->data.biaohao,p->data.name,p->data.shuliang,p->data.jiage);
//有些函数我在没写啊,你自己写写吧,文件的读取和写入,还有链表的创建我都给你写好了,也就是上面的1,4我都写好了,
//包括了文件,剩下的2,3,5,你自己试试,并且我也给你写了一个查找函数,你看看能用不!
三、c++与c语言的数据库有什么区别
C++是面向对象的语言,而C是结构化的语言!
C的所有代码在C++上都能应用,而C++的代码在C上不能应用!!!
1,全新的程序程序思维,C语言是面向过程的,而VC++是面向对象的。
2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而VC++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的VC++6.0中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。
3,特别是VC++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中VC++中的。主持人注:C语言标准中不包括图形处理。这里的C语言的图形处理指的是DOS下的C语言。
4,C和VC++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在VC++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。
4,C语言可以写很多方面的程序,但是VC++可以写得更多更好,VC++可以写基于DOSr程序,写DLL,写控件,写系统。
5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而vc++对文件的组织是以工程,各文件分类明确。
6,VC++中的IDE很智能,和VB一样,有的功能可能比VB还强。
7,VC++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
8,VC++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
9,调试功能强大,并且方法多样。