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", ); fclose(fp); return();
}

创建文件 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[]; sprintf(str, "Pi 的值 = %f", M_PI);
puts(str); return();
}

结果:Pi 的值 = 3.141593

6. snprintf

函数原型:

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

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

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

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

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

example3:

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

输出:

10
str=0123456789     
10
10

C库函数:scanf、fscanf、printf、fprintf、sprintf、 snprintf的更多相关文章

  1. printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换

    总览 (SYNOPSIS) #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream ...

  2. printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数

    参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include <stdio.h> int p ...

  3. [misc]printf/fprintf/sprintf/snprintf函数

    转自:http://blog.csdn.net/To_Be_IT_1/article/details/32179549 需要包含的头文件 #include <stdio.h> int pr ...

  4. [ Skill ] print println printf fprintf sprintf lsprintf

    https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...

  5. sscanf和sprintf是scanf和printf家族用法 (转)

    sscanf和sprintf是scanf和printf家族用法 sscanf和sprintf是scanf和printf家族的一对成员,用于处理和分析字符串非常强大得两个函数头文件 stdio.h原型i ...

  6. printf、sprintf与fprintf 的用法区分

    原文链接 1: fprintf()#include <stdio.h> int fprintf( FILE *stream, const char *format, ... );fprin ...

  7. 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)

    函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...

  8. fscanf和fprintf

    fscanf和fprintf fscanf的字符串是在键盘的缓冲区,fprintf是在显示器的缓冲区. 1.函数原型: int fprintf(FILE *fp, const char *format ...

  9. sprintf,snprintf的用法(可以作为linux中itoa函数的补充)【转】

    转自:http://blog.csdn.net/educast/article/details/25068445 函数功能:把格式化的数据写入某个字符串 头文件:stdio.h 函数原型:int sp ...

  10. C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结

    #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...

随机推荐

  1. docker pull 报错Get https://xxx.xxx.xxx.xxx:5000/v1/_ping: http: server gave HTTP response

    解决方法: vim /etc/docker/daemon.json { "insecure-registries":["xxx.xxx.xxx.xxx:5000" ...

  2. java编写网站数据抓取

    来公司已经俩月了,每天加班平均工时11个小时的我又想起了老东家温馨舒适安逸的生活.已经有好久没时间读博客写博客了,我觉得我退步了,嗯嗯,我很不开心 今天记录下抓数据的一些东西吧. 数据抓取现在是很普遍 ...

  3. 消息中间件MQ

    消息中间件MQ:为方便预览,将思维导图上传至印象笔记,博客园直接上传图片受限于图片大小 https://app.yinxiang.com/shard/s24/nl/27262531/c3e137a5- ...

  4. tomcat 启动报错org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].xxx

    今天在写完一个非常简单的servlet页面跳转的web项目后,启动tomcat报错org.apache.catalina.LifecycleException: Failed to start com ...

  5. Swift 构造过程

    构造过程是为了使用某个类.结构体或枚举类型的实例而进行的准备过程.这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务. Swift 构造函数使用 init() 方法. 与 Ob ...

  6. iptables之精髓(一)

    防火墙相关概念 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网. ...

  7. [dart学习]第五篇:操作符

    前言:本系列内容假设读者有一定的编程基础,如了解C语言.python等. 本节一起来学习dart的操作符,直接拷贝官网的操作符描述表如下: Description Operator unary pos ...

  8. 机器阅读理解综述Neural Machine Reading Comprehension Methods and Trends(略读笔记)

    标题:Neural Machine Reading Comprehension: Methods and Trends 作者:Shanshan Liu, Xin Zhang, Sheng Zhang, ...

  9. 我是如何提高工作效率的-工具篇(一)-Clover

    痛点: 还在为资源管理器窗口切来切去烦恼吗? 效果图: 实现工具:Clover 放个链接 链接:https://pan.baidu.com/s/1UiUQZtE99fMNDe1f2gOnlg   提取 ...

  10. ps命令入门使用指南

    声明:本文算不上原创,主要是参考和整理了该博客ps命令详解 Shell 命令: ps [options] [--help] ps 常用参数: l 长格式输出: u 按用户名和启动时间的顺序来显示进程: ...