zoukankan      html  css  js  c++  java
  • C库函数:scanf、fscanf、printf、fprintf、sprintf、 snprintf

    1. scanf

     函数原型 int scanf(const char *format, ...); 

    功能:从标准输入 stdin 读取格式化输入。

    2.fscanf

    函数原型 int fscanf(FILE *stream, const char *format, …);

    功能:从stream指向的流(而不是标准输入流)中读取数据。除此之外,与scanf函数完全相同。

    比如:从流fp读取十进制的整数值并保存至变量x:fscanf(fp, “%d”, &x);

    3. printf

    函数原型:int printf(const char *format, ...) ;

    format 是字符串,包含了要被写入到标准输出 stdout 的文本

    功能:发送格式化输出到标准输出 stdout。

    4. fprintf

    函数原型:int fprintf(FILE *stream, const char *format, ...);

    stream 是指向 FILE 对象的指针,该 FILE 对象标识了流。format 是 C 字符串,包含了要被写入到流 stream 中的文本

    功能:向stream指向的流(而不是标准输出流)写入数据,除此之外,与printf函数完全相同。

    比如:向流fp写入整数x的十进制数值: fprintf(fp, "%d", x);

    Example1:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
       FILE * fp;
    
       fp = fopen ("file.txt", "w");
       fprintf(fp, "%s %s %s %d", "We", "are", "in", 2018);
       
       fclose(fp);
       
       return(0);
    }

    创建文件 file.txt,它的内容如下:We are in 2018

     5. sprintf

    函数原型: int sprintf(char *str, const char *format, ...);

    str 是指向一个字符数组的指针,该数组存储了 C 字符串。format 是字符串,包含了要被写入到字符串 str 的文本。

    功能:发送格式化输出到 str 所指向的字符串。

    example2:

    #include <stdio.h>
    #include <math.h>  //for M_PI
    
    int main()
    {
       char str[80];
    
       sprintf(str, "Pi 的值 = %f", M_PI);
       puts(str);
       
       return(0);
    }

    结果:Pi 的值 = 3.141593

    6. snprintf

    函数原型:

    int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...);

    函数说明:先将可变参数 “...” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。

    函数返回值:若成功则返回欲写入的字符串长度,若出错则返回-1。

    注意:如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘’;

               如果格式化后的字符串长度大于或等于size,则将字符串的(size-1)拷贝至dest_str中,然后在字符串结尾处加上''.

    example3:

    #include <stdio.h>
    #include <string.h>
     
    int main(int argc, char **argv)
    {
        char str[10];
        int len = snprintf(str, sizeof(str), "0123456789");
    
        printf("%d
    ", (int)sizeof(str));  
        printf("str=%s
    ", str);
        printf("%d
    ", (int)strlen(str));
         printf("%d
    ", len);
        return 0;
    }

    输出:

    10
    str=0123456789     
    10
    10

  • 相关阅读:
    【PyTorch】PyTorch使用LMDB数据库加速文件读取
    【PyTorch】PyTorch中的梯度累加
    【数字图像处理】Bilateral Filters
    【PyTorch】计算局部相似矩阵
    【模型压缩】蒸馏算法小结
    【深度聚类】Superpixel Sampling Networks
    【PyTorch】训练器设置
    【语义分割】Dual Attention Network for Scene Segmentation
    【网络架构】Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
    【任务指标】Matting任务里的Gradient与Connectivity指标
  • 原文地址:https://www.cnblogs.com/bencai/p/9145458.html
Copyright © 2011-2022 走看看