标准IO-格式化输入输出

本文介绍了C语言中的几个主要格式化输出函数,如printf向屏幕输出,fprintf向文件输出,sprintf向字符串输出,以及对应的格式化输入函数sscanf和fscanf,用于从字符串和文件读取数据到变量中。示例代码展示了如何使用这些函数进行日期的处理和文件操作。
摘要由CSDN通过智能技术生成

格式化输出

#include <stdio.h>

int printf(const char *fme, ...);输出到屏幕上

int fprintf(FILE *stream, const char *fme,...);输出到文件中

int sprintf(char *s,const char *fmt,...);输出到字符串中

成功时返回输出的字符个数;出错时返回EOF

sprintf使用起来很方便。

#include <stdio.h>

int main(int argc, char *argv[])
{
    char buff[100];
    int year = 2021;
    int month = 10;
    int day = 1;
    sprintf(buff,"%d-%d-%d",year,month,day);//将变量输出到字符串变量buff中
    printf("%s\n",buff);//输出到屏幕上
}
#include <stdio.h>

int main(int argc, char *argv[])
{
    int year = 2021, month = 10, day = 1;
    FILE fp;//创建文件指针
    fp = fopen("1.txt","w");//以只写模式打开文件
    if (fp == NULL)//判断文件是否打开成功
    {
        perror("fopen");//若文件打开不成功,打印错误信息
        return 0;
    }

    fprintf(fp,"%d-%d-%d\n",year,month,day);//将变量中的数据输出到打开的文件中


}
//最终文件中的数据为2021-10-1;

格式化输入

int sscanf(const char *str,const char *format,...);//将字符串中的内容输入到变量中

#include <stdio.h>

int main(int argc, char *argv[])
{
    int syear,smonth,sday;
    char buff[100];
    int year = 2021;
    int month = 10;
    int day = 1;
    sprintf(buff,"%d-%d-%d",year,month,day);//将变量输出到字符串变量buff中
    
    sscanf(buff,"%d-%d-%d",&syear,smonth,sday);//将字符串中的数据输入到变量中
    printf("%d-%d-%d\n",syear,smonth,sday);
}

//最终输出结果为2021-10-1

int fscanf(FILE *stream,const char *format...);//将文件中的内容输入到变量中

#include <stdio.h>

int main(int argc, char *argv[])
{
    int year = 2021, month = 10, day = 1;
    FILE fp;//创建文件指针
    fp = fopen("1.txt","w");//以只写模式打开文件
    if (fp == NULL)//判断文件是否打开成功
    {
        perror("fopen");//若文件打开不成功,打印错误信息
        return 0;
    }

    fprintf(fp,"%d-%d-%d\n",year,month,day);//将变量中的数据输出到打开的文件中

    fscanf(fp,"%d-%d-%d\n",&year,&month,&day);//将文件中的数据输入到变量中


}

注意:当同时使用输入输出函数时,要格式一致,否则会无法输入/输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值