c语言如何用文件存储数据 c语言中采用二进制文件存储数据的问题

作者&投稿:迟爽 (若有异议请与网页底部的电邮联系)

1、新建一个文件夹,并在文件夹中建立一个文档。

2、打开自己的C语言编辑器。

3、新建一个源文件。

4、写好C语言基本的框架。

5、将文件保存到新建的文件夹中。

6、保存的文件名一定要加.c,在点击保存。

7、输入下面的代码。

8、点击文档,输入的内容就出现在了文档中。



具体操作步骤如下:

1、首先,创建一个新文件夹,在该文件夹中创建一个文档,如下图所示,然后进入下一步。

     

2、其次,双击C语言编辑器打开,如下图所示,然后进入下一步。

     

3、接着,在编辑器内创建一个新的源文件,如下图所示,然后进入下一步。

     

4、然后,编写C语言的基本框架,如下图所示,然后进入下一步。

     

5、随后,点击保存图标,将文件保存在新创建的文件夹中,如下图所示,然后进入下一步。

     

6、接着,文件名务必要添加.c,再单击“保存”按钮,如下图所示,然后进入下一步。

     

7、然后,键入以下代码,如下图所示,然后进入下一步。

     

8、最后,单击文档,输入的内容将出现在文档中,如下图所示。这样,问题就解决了。

     



1、新建一个文件夹,并在文件夹中建立一个文档。

2、打开自己的C语言编辑器。

3、新建一个源文件。

4、写好C语言基本的框架。

5、将文件保存到新建的文件夹中。

6、保存的文件名一定要加.c,在点击保存。

7、输入下面的代码。

8、点击文档,输入的内容就出现在了文档中。



使用文件操作函数即可用文件储存数据。

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:

#include<stdio.h>
int a;
char b,c[100];
int main(){
    FILE * fp1 = fopen("input.txt", "r");//打开输入文件
    FILE * fp2 = fopen("output.txt", "w");//打开输出文件
    if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
        puts("不能打开文件!");
        return 0;
    }
    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);//关闭输出文件,相当于保存
    return 0;
}


#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct test
{
int num;
float s;
};
void main()
{
FILE *fp;
int i,j,k,bad,good;
double ts,sum=0,min,aver=0,tm[10];
struct test data[10],*p[10],*temp;
fp=fopen("./test.txt","w+");
do {
sum=0;aver=0;
printf("Input 10 sorces------input 0(exit)\n");
for(i=0;i<10;i++)
{
data[i].num=i+1;
scanf("%f",&data[i].s);
/*分数的输入部分*/
if(data[0].s==0)
{
fclose(fp);
exit(0);
}
}
for(i=0;i<10;i++) tm[i]=data[i].s; for(i=0;i<10;i++) p[i]=&data[i];
for(i=0;i<9;i++)
{k=i;
for(j=i+1;j<10;j++)
if(tm[k]<tm[j])
k=j;
if(k!=i)
{ts=tm[i];tm[i]=tm[k];tm[k]=ts;
temp=p[i];p[i]=p[k];p[k]=temp;
} /*对输入分值进行排序*/
}
for(i=1;i<9;i++)
sum+=p[i]->s;
aver=sum/8;
/*计算平均值的部分*/
printf("\n-----------------\n");
printf("The aver is:%.1f\n",aver);
printf("-----------------\n");
fprintf(fp,"\n-----------------\n");
fprintf(fp,"The aver is:%.1f\n",aver);
fprintf(fp,"-----------------\n");
(fabs(p[0]->s-aver)>fabs(p[9]->s-aver))?(bad=0):(bad=9); /*通过绝对差值判断与平均值相差最大的裁判*/
min=fabs(p[5]->s-aver);
good=5;
/*暂定第六个为最公平裁判*/
for(i=4;i>0;i--)
{if((fabs(p[i]->s-aver))<=min)
{min=fabs(p[i]->s-aver); good=i; }
else break;
}
/*用拆半法先将前半部分与min比较*/
for(i=6;i<9;i++)
{if((fabs(p[i]->s-aver))<=min)
{min=fabs(p[i]->s-aver); good=i; }
else break;
}
/*用拆半法先将后半部分与min比较*/
printf("The worst pingwei is %d and the sorce is %.1f\n",
p[bad]->num,p[bad]->s);
fprintf(fp,"The worst pingwei is %d and the sorce is %.1f\n",
p[bad]->num,p[bad]->s);
/*打印出最不公平裁判和其分数*/
printf("The best pingwei is %d and the sorce is %.1f\n",
p[good]->num,p[good]->s);
fprintf(fp,"The best pingwei is %d and the sorce is %.1f\n",
p[good]->num,p[good]->s);
/*打印出最公平裁判和其分数*/
printf("\n----------------------------------\n");
fprintf(fp,"\n----------------------------------\n");
printf("Next one:"); /*打印出下一位*/
}while(1);
}

输出到文件不难,在程序开始使用fopen打开一个文件,得到返回值fp,之后使用fprintf把想输出的内容输出到fp即可,在退出程序的时候使用fclose关闭fp。

~

C语言如何打开一个文件然后修改保存
答:假定开始没有这个文件,在插入数据时建立文件。FILE *fp;fopen("c:\\a.txt","wt+");这个是打开以写或读的方式打开文件。打开后就可以写入了,用for循环,例如你有4组数据,for(int i;i<=4;i++){ fprintf(fp,"%s%s%s",a,b,c,d);} fprintf();就实现了把数据写入文件的功能。跟printf...

怎样用C语言保存一个文件?
答:替换为CRLF(0X0D 0X0A),而读取数据时又会替换回来。CR(0X0D)表示回车符,也就是 '\r';CL(0X0A)表示换行符,也就是 '\n'。在Linux和其他一些系统中,文本文件的换行符就是LF(0X0A),与C语言的换行符一样。所以也就没有了文本方式和二进制方式的区分,使不使用'b'标志都是一样的。

c++ 中如何读取文件 并使用文件中的数据
答:1、在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、标准库的输入输出类的关系。5、第一个操作读文件,我们可以...

在C语言中文件的存取方式是什么?
答:8、wb只写打开或新建一个二进制文件;只允许写数据。9、wb+读写打开或建立一个二进制文件,允许读和写。10、ab+读写打开一个二进制文件,允许读或在文件末追加数据。C语言 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码...

如何用c语言制作一个学生信息管理系统,要求以文件形式保存
答:\n");printf("请输入要查询的学生编号:");scanf("%d",&j);getchar();//printf("%d\n",j); //检测输入是否成功,调试程序用 FindStu(head,j); //查询并输出 printf("\n请输入回车键返回主菜单!");getchar();system("cls");break;} ...

c语言怎么将数据写入文件?
答:利用VC软件通过代码书写就可以将数据写入文件。首先打开VC++6.0。选择文件,新建。选择C++ source file 新建一个空白文档。先声明头文件#include <stdio.h>。写上主函数 void main 主要代码 FILE *infile,*outfile,*otherfile;char input;char inputs[10];int i=0;infile = fopen("d:\\infile....

如何将在c语言中生成的数据保存到文本文件中?
答:pf=fopen("test.txt", "w" );//假设test.txt文件为空 if(!pf){ printf("打开文件失败,程序退出!");exit(1);} fprintf(pf,"%d %f %s\n",m,f,str);//写入,test.txt文件内容为10 12.345000 testinfo if(pf)//关闭文件 { fclose( pf);pf=NULL;} printf("数据已写入test.txt...

用C#语言编程将TXT文件里的数据读取保存(导入)到SQL数据库表中
答:;cmd.CommandText = sql_insert;cmd.ExecuteNonQuery();} tran.Commit();} MessageBox.Show("导入成功!");} catch { MessageBox.Show("导入失败!");tran.Rollback();} finally { conn.Dispose();} 如果是数据库是sqlserver,只要把OleDb换成Sql就可以了。直接编译通过不可能的,自己看着办吧 ...

c语言怎么将数据写入文件
答:利用VC软件通过代码书写就可以将数据写入文件。首先打开VC++6.0。选择文件,新建。选择C++ source file 新建一个空白文档。先声明头文件#include <stdio.h>。写上主函数 void main 主要代码 FILE *infile,*outfile,*otherfile;char input;char inputs[10];int i=0;infile = fopen("d:\\infile....

java怎样向一个文件(如txt文件)中写入一段数据,保存后下一次打开继续使...
答:例子程序如下:import java.io.File ;import java.io.Writer ;import java.io.FileWriter ;public class WriterDemo02{public static void main(String args[]) throws Exception} java的优点:java是纯面向对象编程的语言;平台无关性 (一次编译,到处运行;Write Once,Run Anywhere);java提供了许多...