fwrite fread fscanf fprintf 及C语言对字符串操作函数

fwrite fread fscanf fprintf 都是属于C函数用于文件读写,前两者对二进制文件读写,后两者只要用于格式化的读取、输出文本,对文本文件读写。

 

 fscanf()  格式化的读取,从文件中读取

 

 fprintf() 格式化的写入,写入到文件中

 

 10:9.9,xxxx,1.jpg#

 

 fprintf(fp,"%d:%.2f,%s,%s#",10,9.9f,"最便宜的面膜","20150301010101.jpg");

 

 第二个参数是"......"中的东西,%d与%.2f之间是分隔符,%.2f是输出两位数的float

 在格式化输出中:%10.8f表示输出结果一共有10位,其中小数点后占8位

 */

 

注意:在使用fscanf的时候要注意参数的正确使用,例如%f与float类型变量对应,%lf与double类型的变量对应,若不对应数据将不能正确读取,比如%f与double类型变量对应

 

#include <stdio.h>

//格式化的写入

void test1(){

    

    //定义文件指针

    FILE *fp = fopen("fprintf.txt""w");

    //判断文件是否成功打开

    if(fp != NULL){

        //格式化写入

        int productId = 10;

        float productPrice = 9.9f;

        char *productTitle = "最便宜的面膜";

        char *productTitleImg="20150301010101.jpg";

        

        fprintf(fp,"%d:%.2f,%s\n%s", productId,productPrice,productTitle,productTitleImg);

        printf("写入成功!\n");

    }

    fclose(fp);

    fp = NULL;

}

 

//格式化读取

void test2(){

    

    //定义文件指针

    FILE *fp = fopen("fprintf.txt""r");

    //判断是否打开成功

    if(fp != NULL){

        

        int productId = 0;

        float productPrice = 0.0f;

        char productTitle[50];

        char productTitleImg[50];

        //格式化读取

        fscanf(fp, "%d:%f,%s\n%s",&productId,&productPrice,productTitle,productTitleImg);

        

        printf("产品编号:%d\n",productId);

        printf("产品价格:¥%.2f\n",productPrice);

        printf("产品名称:%s\n",productTitle);

        printf("产品图片:%s\n",productTitleImg);

 

    }

    fclose(fp);

    fp = NULL;

}

 

int main(int argc, const char * argv[]) {

    test1();

    test2();

    printf("Hello, World!\n");

    return 0;

}

字符串操作函数:

strcpy:复制char

strcat:连接char

strlen:长度

strcmp:比较是否一样

strstr: 查找字符

strncpy: 复制前几个

pow(x,y):计算x的y次方。x、y及函数值都是double型,要加入头文件 math.h

memcpy: 指定字符个数从指定位置复制到指定位置

sprintf:把格式化的数据写入某个字符串缓冲区。int sprintf( char *buffer, const char *format, [ argument] … );,注意与fprintf区别,前者对缓冲区操作,后者对文件操作。

atoi:AscII To int,同理itoa

atof:AscII To float,同理ftoa

注意atoi函数不是C标准函数,springf是标准函数,尽量使用sprintf

sprintf:格式输出到char*,类似于CString的Format

pritnf:输出到屏幕

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值