c语言文件保存
‘壹’ c语言——保存读取文件
1.用文件操作函数就可以实现读取和保存。打开函数fopen,mode参数设置为“r”就可以使用fscanf函数读取文件内容。用fclose函数就可以实现保存并关闭文件。
2.对于程序来说,不管后缀名如何,文件分为两种类型:文本文件和二进制文件。
c语言里有一系列文件操作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符mode的变量即可。
3.fopen的函数原型:file
*
fopen(const
char
*
path,const
char
*
mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读数据。
rw+
读写打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(eof符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的eof符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
wt+
读写打开或着建立一个文本文件;允许读写。
at+
读写打开一个文本文件,允许读或在文本末追加数据。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b
字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
‘贰’ C语言编程怎么保存
#include
"stdio.h"void
main()
{
int
da(int
m,int
n);
int
xiao(int
m,int
n,int
k);
int
m,n,a,b;
printf("请输入两个正整数:");
scanf("%d,%d,",&n,&m);
a=da(m,n);
b=xiao(m,n,a);
printf("它们的最大公约数为:%d\n",a);
printf("它们的最小公倍数为:%d\n",b);
}
int
da(int
x,int
y)
{
int
k,r,t;
if(x<y)
{
t=x;
x=y;
y=t;
}
k=y*x;
while(y!=0)
{
r=x%y;
x=y;
y=r;
}
return(x);
}
int
xiao(int
x,int
y,int
a)
{
return(x*y/a);
}
‘叁’ 编写好一个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 ",a[i]);
}
(3)c语言文件保存扩展阅读
保存方法二如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp;
char in;
fp = fopen("test.txt","w");
printf("请输入一个字符串(以!结束): ");
while((in=getchar()) != '!')
{
if(in <='z' && in >= 'a')
{
in -= 32;
}
fputc(in,fp);
}
fclose(fp);
return 0;
}
‘肆’ c语言代码编写后怎么保存
……编辑器都会有保存文件的功能。例如Ctrl+S快捷键……
‘伍’ 如何把c语言中输出的数据保存到一个文件夹中
使用文件操作函数保存。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打开输入文件
FILE*fp2=fopen("output.txt","w");//打开输出文件
if(fp1==NULL||fp2==NULL){//若打开文件失败则退出
puts("不能打开文件!");
return0;
}
fscanf(fp1,"%d",&a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return0;
}
‘陆’ 用C语言怎么保存文件
部分代码:
...
while(head
!=
NULL)
{
fwrite(&head->math,
1,
sizeof(int),
fp);
依次保存其他字段,next字段不用保存。
你下次读出来的时候在重新组建链表既可.
head
=
head->next;
}
...
‘柒’ c语言怎么保存文件到指定的路径
fp=fopen(filename,"wb");
里的filename就表示了文件的路径及文件名,所以要把输入的文件名和文件路径拼接起来,计算出这个filename
最好过滤一下别让路径和文件名中有非法字符,比如:\/+<>什么的。
scanf也限制一下长度。
scanf("%19s",filename);
scanf("%19s",path);
参考如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
char ch, filename[20], path[20],buffer[40];
printf("Enter the file name: ");
scanf("%s",filename);
printf("Enter the path: ");
scanf("%s",path);
sprintf(buffer, "%s\\%s", path,filename);
printf("\nto end input ,press Ctrl+Z in newline,then ENTER:\n");
if((fp=fopen(buffer,"wt+"))==NULL)
{
printf("no such path, \nstrike any key exit!");
getch();
exit(1);
}
while ((ch=getchar())!=-1) ch=fputc(ch,fp);
fclose(fp);
printf("==================================\n\n");
printf("file path \"%s\" \nfile name \"%s\":\nand its content:\n",path,filename);
fp=fopen(buffer,"rt");
while ((ch=fgetc(fp))!=-1) putchar(ch);
fclose(fp);
return 0;
‘捌’ 怎样用C语言保存一个文件
在C语言中,文件有多种读写方式,可以一个字符一个字符地读取,也可以读取一整行,还可以读取若干个字节。文件的读写位置也非常灵活,可以从文件开头读取,也可以从中间位置读取。
在C语言中,二进制方式很简单,读文件时,会原封不动的读出文件的全部内容,写的时候,也是把内存缓冲区的内容原封不动的写到文件中。
而对文本文件的处理就不一样了。Windows 和 DOS 下的文本文件以CRLF(0X0D 0X0A)作为换行符,而C语言本身以LF(0X0A)作为换行符,所以以文本方式写入数据时,会将LF(0X0A)替换为CRLF(0X0D 0X0A),而读取数据时又会替换回来。
CR(0X0D)表示回车符,也就是 '
';CL(0X0A)表示换行符,也就是 '
'。在Linux和其他一些系统中,文本文件的换行符就是LF(0X0A),与C语言的换行符一样。所以也就没有了文本方式和二进制方式的区分,使不使用'b'标志都是一样的。
(8)c语言文件保存扩展阅读
C语言中文件的读取和写入
在C语言中写文件
//获取文件指针FILE *pFile = fopen("1.txt", //打开文件的名称
"w"); // 文件打开方式 如果原来有内容也会销毁//向文件写数据fwrite ("hello", //要输入的文字
//文字每一项的大小 以为这里是字符型的 就设置为1 如果是汉字就设置为4
strlog("hello"), //单元个数 我们也可以直接写5
pFile //我们刚刚获得到的地址 );//fclose(pFile); //告诉系统我们文件写完了数据更新,但是我们要要重新打开才能在写fflush(pFile); //数据刷新 数据立即更新
‘玖’ C语言程序文件保存问题
你是以记事本保存的,而保存的数据里面有整数,整数不是字符,记事本显示的是乱码,如果想保存整数类型,需要报整数转化成字符串,你可以尝试使用fprintf和fscanf来读写文件.以下是例子:
在运用fprintf与fscanf时,在向文件输出数据及从文件读取数据时,分隔符应该相一致。如下程序所示,该程序的功能是:用户输入8个整型数据,程序回显并把数据写到int.txt文件中,然后程序再从int.txt文件中读取数据,并显示出来。
#include <stdio.h>
main()
{
FILE *fp;
int i,ss[8],new[8];
for(i=0;i<8;i++){
scanf("%d",&ss[i]);
}
fp=fopen("int.txt","w");
printf("start diesplay old data!/n");
for(i=0;i<8;i++){
printf("%d:%-10d/n",i+1,ss[i]);
fprintf(fp,"%d,",ss[i]);/*输出数据时以逗号为数据之间的分隔符*/
}
fclose(fp);
printf("Now diseplay read date!/n");
if((fp=fopen("int.txt","r"))==NULL) return 1;
for(i=0;i<8;i++){
fscanf(fp,"%d,",&new[i]);/*输入数据时以逗号为数据之间的分隔符,这样做到前后一致, 读取数据不会错*/
printf("%d:%-10d/n",i+1,new[i]);
}
fclose(fp);
}
分隔符也可采用/n,即回车符,那么程序中二句相应改为:
fprintf(fp,"%d/n",ss[i]);
fscanf(fp,"%d/n",&new[i]);
‘拾’ C语言程序设计题如何保存
按理说那样应该已经保存了,不过保存在你工程建立的地址里。也可以点“文件”->“另存为”自选保存路径
写程序时最好是“新建”->“工程”
然后再“新建”->“文件”