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", ); 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的更多相关文章
- printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换
总览 (SYNOPSIS) #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream ...
- printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数
参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include <stdio.h> int p ...
- [misc]printf/fprintf/sprintf/snprintf函数
转自:http://blog.csdn.net/To_Be_IT_1/article/details/32179549 需要包含的头文件 #include <stdio.h> int pr ...
- [ Skill ] print println printf fprintf sprintf lsprintf
https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...
- sscanf和sprintf是scanf和printf家族用法 (转)
sscanf和sprintf是scanf和printf家族用法 sscanf和sprintf是scanf和printf家族的一对成员,用于处理和分析字符串非常强大得两个函数头文件 stdio.h原型i ...
- printf、sprintf与fprintf 的用法区分
原文链接 1: fprintf()#include <stdio.h> int fprintf( FILE *stream, const char *format, ... );fprin ...
- 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)
函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...
- fscanf和fprintf
fscanf和fprintf fscanf的字符串是在键盘的缓冲区,fprintf是在显示器的缓冲区. 1.函数原型: int fprintf(FILE *fp, const char *format ...
- sprintf,snprintf的用法(可以作为linux中itoa函数的补充)【转】
转自:http://blog.csdn.net/educast/article/details/25068445 函数功能:把格式化的数据写入某个字符串 头文件:stdio.h 函数原型:int sp ...
- C++之函数fgetc和fputc、fgets和fputs、fread和fwrite、fscanf和fprintf用法小结
#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ...
随机推荐
- Golang文件操作整理
基本操作 文件创建 创建文件的时候,一定要注意权限问题,一般默认的文件权限是 0666 关于权限的相关内容,具体可以参考鸟叔p141 这里还是再回顾下,文件属性 r w x r w x r w x,第 ...
- EEPROM与FLASH
最初的ROM rom最初不能编程,出厂什么内容就永远什么内容,不灵活.后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉. 人类文明不断进步,终于出现了可多次擦除写入的EPROM, ...
- Qt之编译MySQL数据库驱动(MSVC)
Qt之编译MySQL数据库驱动(MSVC) (2013-12-13 20:24:46) 转载▼ 标签: qt mysql qmysql qt编译mysql qt之msvc编译mysql 分类: Qt ...
- java递归复制文件夹
package com.haiyisoft.hyoaService; import java.io.BufferedInputStream;import java.io.BufferedOutputS ...
- 升级chrome浏览器导致网站登录功能不能用
笔者开发一个java web项目,低版本的chrome(74以下)可以正常登录,升级到chrome74不能正常登录,登录成功后url会携带一个jsessionid=xxxxxx. 登录成功那个页面有s ...
- React Native登录注册页面实现空白处收起键盘
其实很简单,直接使用ScrollView作为父视图即可.有木有很神奇啊,以前都还不知道呢.....
- jenkins:集成sonar代码扫描+发送邮件
前提: Jenkins JDK 目录: 1.安装sonar插件:SonarQube Scanner for Jenkins 2.安装SonarQube 3.安装sonar-scanner ++++++ ...
- UE4 RHI与条件式编译
RHI即RenderHardwareInterface, 即渲染硬件接口, 是UE为实现跨平台而实现的一套API. 每个RHI接口都为OpenGL, Vulkan, DX11等做了不同的实现. 在引擎 ...
- JDK1.8新特性之Optional
概念 Optional 是JDK1.8中出现的一个容器类,代表一个值存在或者不存在.原来使用null表示一个值不存在,现在Optional可以更好的表达这个概念.并且可以避免空指针异常. 场景分析 需 ...
- Centos6.5搭建方法
# VSFTP # ## ###安装 vsftp yum install vsftpd* -y ###启动服务 /etc/init.d/vsftpd restart ###配置 ...