void save(struct Trains train[]){ /*保存信息函数*/
getchar();
FILE *fp;
int i;
if((fp=fopen("D:\\ticket.txt","w+"))==null){
printf("打开文件失败\n");
return;
}
for(i=0;i<H;i++)
if(fwrite(&train[i],sizeof(struct Trains),1,fp)!=1)
printf("信息保存出错!\n");
fclose(fp);
printf("信息保存成功!");
getchar();
}
还有一个
void load() /*读取车次信息*/
{ FILE *fp;
int i=0;
while((fp=fopen("D:\\ticket.txt","rb"))==NULL)
return;
for(i;!feof(fp);i++,H++)
{
if(fread(&train[H],sizeof(struct Trains),1,fp)!=1){}
if(feof(fp))
{
fclose(fp);
return;
}
}
fclose(fp);
}
班次 发车时间 起始站 终点站 运行时间 额定载量
输入 1 12:00 杭州 温州 4 200
输出: 杭州 温州 €@
为什么保存的信息会出现乱码,该怎么修改?
大神求指点。。。这两段代码要怎么改。。。我实在不懂
那该怎么解决
追答你要保存的内容没有乱码,就不能整个结构写入啊,你得一个个字段按字符串写入
还是乱码哎。。。这两段代码有问题吗
追答确实fwrite是以二进制写到文件的。可以用fprintf();我再试试看
追问额,求代码,我不会
C语言程序文件保存问题
你是以记事本保存的,而保存的数据里面有整数,整数不是字符,记事本显示的是乱码,如果想保存整数类型,需要报整数转化成字符串,你可以尝试使用fprintf和fscanf来读写文件.以下是例子:在运用fprintf与fscanf时,在向文件输出数据及从文件读取数据时,分隔符应该相一致。如下程序所示,该程序的功能是:用户...
关于C语言程序保存问题
要回文件读写,实现保存在文件中,下次运行的时候先从文件初始化,省得你去输入。
C语言程序设计题如何保存
1、程序结果填写完成后,必须使用“文件”菜单中的“保存”命令,保存“blank1.c”程序文件。2、“blank1.c”程序文件保存完成后,单击窗口右上角的关闭按钮,关闭“blank1.c”程序文件,并退出“Microsoft Visual C++ 6.0”系统界面,如图所示,屏幕回到图所示界面。
C语言程序运行结果保存为TXT格式的问题
原因是因为你在循环中打开文件,不停的在从第0个位置写,再关闭 如果想放在循环中,你用到fseek(文件类型指针fp,位移量,起始点)接口,放在\/*printf("L=%f\\t %f\\n",l,a); *\/ 后面 起始点 对应的数字 代表的文件位置 SEEK_SET 0 文件开头 SEEK_CUR 1 文件当前位置 SEEK_END 2 ...
我的C语言程序为什么不能保存数据,每次退出再进入后就没有之前存的东 ...
你把打开方式改成追加试试、或许是你覆盖写入的原因 把文件的打开方式改成追加模式,就是“fopen("work".txt,"ab")”
关于C语言编程的保存问题!!!
如果扩展名是.c,那么它就是一个c语言文件.至于你的机器里看起来跟学校的不一样,那可能是学校的机器安装了vc++6.0,而你没有.文件的图标看起来怎么样是不重要的,这跟默认跟它关联的程序有关.重要的是文件实际的格式,这不会随着图标或扩展名变的.若想修改文件关联请到:控制面板|文件夹选项|文件类型...
c语言中采用二进制文件存储数据的问题
1、二进制文本使用fopen函数的二进制模式“rb”就可以打开。对于程序来说,不管后缀名如何,文件分为两种类型:文本文件和二进制文件。 C语言里有一系列文件操作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符mode的变量即可。2、fopen的函数原型:FILE * fopen(const char * path,const...
C语言数据保存问题
不知道你是用什么方法打开的?用fopen的rb模式应该可以读的.PS.写文件那里,可以不用循环,直接用 fwrite(stud, sizeof(struct student), n, point));如果你是用w模式打开的,那每次会把文件清空.
编写好一个C语言程序,如何把数据一直保存下来
用数组保存。定义一个数组。如:int a[6]={1,2,3,4,5,6};然后输出 for(i=0;i<6;i++){ printf("%d",a[i]);} 代码如下:include<stdio.h> int main(){ int a[6]={1,2,3,4,5,6};int i;for(i=0;i<=5;i++)printf("%d\\n",a[i]);} ...
C语言编的程序怎么保存到指定文件夹?谢谢```
fopen=("c:xx.txt","a+")不知道你说的什么意思,不过如果是打开文件然后写的话 把fopen后面的两个参数写上就ok 了.第一个是文件路径 底二个是打开方式,我用的是追加写,就是如果没有文件就新建一个,有就写在文件尾