C语言:将数据保存到文本文件_c语言将数据写入文件_Geek宝宝的博客-程序员秘密

技术标签: C语言初步学习  

任务代码:

文件操作步骤:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;//文件指针
    int i, d;

    /*文件的打开*/
    fp=fopen("data.txt","w");//fopen打开文件,这个文件可以是当前不存在的。“w”以写入的形式打开,“r”以读的形式打开
    if(fp==NULL) //判断如果文件指针为空
    {
        printf("File cannot open! " );
        exit(0);//在以0的形式退出,必须在文件开头有#include <stdlib.h>,stdlib 头文件即standard library标准库头文件
    }

    //写入东西
    for(i=0; i<10; i++)
    {
        scanf("%d", &d);//用户出入
        fprintf(fp,"%d\t", d);//写入指针fp,写入的东西就是刚才的用户输入的d,注意这里的fp和d没有引号
    }

     //关闭文件
    fclose(fp);
    return 0;
}


格式化输出:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;//文件指针
    int i, No;
    float salary;

    /*文件的打开*/
    fp=fopen("data.csv","w");//csv文件可以直接用excel打开
    if(fp==NULL) //判断如果文件指针为空
    {
        printf("File cannot open! " );
        exit(0); //在以0的形式退出,必须在文件开头有#include <stdlib.h>,stdlib 头文件即standard library标准库头文件
    }

    //写入东西
    for(i=0; i<5; i++)
    {
        scanf("%d %f", &No,&salary);//用户出入
        fprintf(fp,"%d,%.2f\n", No,salary);//!!!!!尤其注意这里要用逗号隔开,因为excel表里面就默认识别逗号隔开的才能分类fprintf(文件指针,格式字符串,列表)
                      
 } //关闭文件 fclose(fp); return 0;}


格式化输入:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;//文件指针
    int i, No;
    float salary;

    /*文件的打开*/
    fp=fopen("data.csv","r");//改用读取的形式"r"
    if(fp==NULL)
    {
        printf("File cannot open! " );
        exit(0);
    }

    //从文件中读入5名员工的工号和工资,并显示
    for(i=0; i<5; i++)
    {
        fscanf(fp,"%d,%f", &No,&salary);//格式化输入fscanf(文件指针,格式字符串,输入列表)
        printf("%d\t%.2f\n", No,salary);
    }

     //关闭文件
    fclose(fp);
    return 0;
}

格式化输出字符:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    char ch;//定义字符变量

    if ((fp=fopen( "data.dat" , "w" ))==NULL)
    {
        printf("File cannot open!");
        exit(0);
    }
    while((ch=getchar())!=EOF )//用户输入字符,EOF为C语言定义的-1即失败
        fputc(ch,fp );//将无数的字符可以输入到文件中,使用ctrl+z结束输入

    //关闭文件
    fclose(fp);
    return 0;
}


格式化输入字符:

#include <stdio.h>  
#include <stdlib.h>  
int main()  
{  
    FILE *fp;  
    char c;  
    if ((fp=fopen( "data.dat" , "r" ))==NULL)  
    {  
        printf("File cannot open!");  
        exit(0);  
    }  
    while((c=fgetc(fp))!=EOF)  
        putchar(c);  
    fclose(fp);  
    return 0;  
}  


执行情况:

文件操作步骤:




格式化输出;



格式化输入:



格式化输出字符:



格式化输入字符:


知识总结:


读取文件就是文件从磁盘传到内存,输出写出程序就是将文件从内存出处到磁盘保存


读写文件的步骤:

开头:
stdlib 头文件即standard library标准库头文件,常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。


文件指针:
在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。
FILE *指针变量标识符;


打开文件:


函数原型:FILE * fopen(const char * path,const char * mode);
参数说明:


参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。


mode有下列几种形态字符串:


r 以只读方式打开文件,该文件必须存在。


r+ 以可读写方式打开文件,该文件必须存在。


rb+ 读写打开一个二进制文件,允许读数据。


w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。


w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。


文件操作:

格式化输出数字:

 fprintf(fp,"%d,%.2f\n", No,salary);//!!!!!尤其注意这里要用逗号隔开,因为excel表里面就默认识别逗号隔开的才能分类fprintf(文件指针,格式字符串,列表)

格式化输入数字:

fscanf(fp,"%d,%f", &No,&salary);//格式化输入fscanf(文件指针,格式字符串,输入列表)

格式化输出字符:

fputc(ch,fp );

格式化输入字符:

fgetc(fp)


关闭文件:

 fclose(fp);

心得体会:

不要弄反了putchar()和fputc(),getchar()和fgetc();


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Zzwtyds/article/details/75095698

智能推荐

入侵检测——fping(扫描篇)_lainwith的博客-程序员秘密

目录环境介绍参数数据包参照组数据包(使用ping命令)windows下使用cmd发出的ping包kali在终端中发出的ping包fping发出的数据包单个主机扫描(无回应)单个主机扫描(有回应)网段扫描规则环境介绍NAT模式:kali攻击方win7受害者Metasploitable受害者参数1:基于icmp的单个主机发现fping 192.168.56.1022:基于icmp的网段扫描-a参数显示存活的主机-g通过指定开始和结束地址来生成目标列表,可以使网段fping -a -

(原創) Write once, compile everywhere? (C/C++) (SystemC) (VC++) (IC Design)_weixin_34344403的博客-程序员秘密

Abstract這兩天寫SystemC的第一個作業,其實花最多時間是在Compiler身上。由於SystemC本身並不是一個程式語言,而是架構在C++上,利用C++的Generics特性擴充其Library,使C++搖身一變成為HDL,且SystemC也沒有自己的IDE和Compiler,理論上只要是C++的Compiler就可以compile所有SystemC的code。Introducti...

Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT_Dave的博客-程序员秘密

 群里有个朋友问了个问题,Oracle 9i 的数据库,Job 执行失败,物化视图刷新报错。 错误信息如下:ORA-04068: existing state of packages has been discardedORA-04062: of has been changedORA-04062: timestamp of package "SYS.DBMS_SNAPSHOT_U

Matlab如何提取fig文件中的数据_matlab从fig中提取数据_ls101_101的博客-程序员秘密

从fig文件中提取原有数据有时候我们使用MATLAB没有保存原始数据为.mat文件,仅保存.fig文件也可以保存所有完整数据。详细学习推荐大佬解答https://blog.csdn.net/MatlabFans_Mfun/article/details/108687191先随便设置两个函数1. 情况一两个张图在一个figure内看明白,一张图的就更简单了。fs = 1000;ts = 1/fs;t=0:ts:0.3;z = sin(2*pi*10*t);z1=sin(2*pi*100*t

大整数的输入输出-Longlong_小太阳i的博客-程序员秘密

大整数的输入输出Description输入两个 long long 范围内的整数,输出他们的和。Input两个 long long 范围内的整数。Output输出的两个大整数的和,保证结果在 long long 范围内。SampleInput22222222223333333333Output5555555555#include &lt;iostream&gt;#include &lt;bits/stdc++.h&gt;using namespace std;int mai

SpringBoot-----Profile配置_笑释一切的博客-程序员秘密

一、作用及文件形式作用:Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活、 指定参数等方式快速切换环境 文件形式:application-{profile}.properties/yml 二、激活方式idea激活 properties/yml配置 spring.profiles.active=prodJVM参数 # 测试环境:java...

随便推点

python抢票代码_Python实现12306火车票抢票系统_weixin_39849548的博客-程序员秘密

Python实现12306火车票抢票系统效果图如下所示:具体代码如下所示:import urllib.request as requestimport http.cookiejar as cookiejarimport reimport osimport smtplibfrom email.mime.text import MIMETextimport timeuser = '' #登陆邮箱pwd...

国家医保的线上支付接口,需要签名算法SM2、加密算法SM4_feisng0的博客-程序员秘密

根据SM2算法(Signature的algorithm选择SM3withSM2),签名报文。通过对报文数据筛选、排序和拼接,组成待签名报文数据。获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除signData、encData、extra字段。将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,最后拼接上应用密钥appSecr

fping用法_feier7501的博客-程序员秘密

下载地址:http://fping.org/dist/我下的是http://fping.org/dist/fping-3.5.tar.gz在linux上安装后,用法如下:[[email protected] fping-3.5]# fping -hUsage: fping [options] [targets...] -a show targets th

如何学习VC++(VC的用处)_vc++用途_evilgod528的博客-程序员秘密

1 vc的用处我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com编程,网络编程。我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。通过这个项目,我 才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基 于COM构造,这样高性能的大型软件,只有VC方显出其英雄本色!不过,在国内,有机会 接触这样的大型系

C 网络编程_书香水墨的博客-程序员秘密

一、套接字套接字:源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。常用的TCP/IP协议的3种套接字类型如下所示:流套接字(SOCK_STREAM):流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(T...

用VC++实现图像检索技术1_马鸣风萧萧的博客-程序员秘密

 一. 理论和方法介绍  a) 采用颜色检索方法的目的:  对多媒体数据的检索,早期的方法是用文本将多媒体数据进行标识,这显然不是基于多媒体信息本身内容的检索,对多媒体数据中包含的信息是一中及大的浪费;  基于内容的检索是多媒体数据库的关键技术,如何实现这块技术,是值得商榷的,而最好的方法是使用无需领域知识的检索方法,因此,基于颜色的方法就是实现的关键;  本文介绍了颜色直方图和颜色对方法在基于内