C语言sprintf和sscanf函数用法
以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用。今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf
1. sprintf
从名称上来看,这个函数名称由三部分组成:
- s 代表字符串(string)
- print 代表打印
- f 代表格式化(format)
这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输出流的printf,sprintf是用来处理字符串的。实际上这个函数,是把数据按格式打印到字符串中,常用于将数字转换成字符串。
sprintf函数所在头文件:stdio.h
函数原型
int sprintf ( char * str, const char * format, ... );
- str 用来存储结果的内存的指针
- format 格式化规则
例子
将数字转换成字符串
#include <stdio.h>
#include <string.h>
int main(void){
int n=90;
char buf[3];
memset(buf,'a',3);
sprintf(buf,"%d",n);
printf("This string is : %s",buf);
return 0;
}
输出:
This string is : 90
注:转换成字符串以后,会自动在字符串结尾插入'\0',所以要注意第一个参数的内存长度
2. sscanf
从名称上来看,这个函数名称由三部分组成:
- s 代表字符串(string)
- scan 代表扫描
- f 代表格式化(format)
这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输入流的scanf,sscanf是用来处理字符串的。实际上这个函数,是将字符串中的内容按格式扫描到变量中,常用于将字符串转换成数字。
sscanf函数所在头文件:stdio.h
函数原型
int sscanf ( const char * s, const char * format, ...);
- s 指定被扫描的字符串
- format 格式化规则
例子
把字符串转换成数字
#include <stdio.h>
int main(void){
const char* str="90";
int num;
sscanf(str,"%d",&num);
printf("This number is : %d",num);
return 0;
}
输出:
This number is : 90
C语言sprintf和sscanf函数用法的更多相关文章
- C语言sprintf与sscanf函数
1.前言 我们经常涉及到数字与字符串之间的转换,例如将32位无符号整数的ip地址转换为点分十进制的ip地址字符串,或者反过来.从给定的字符串中提取相关内容,例如给定一个地址:http://www.bo ...
- C语言sprintf与sscanf函数[总结]
sprintf函数 sprintf函数原型为 int sprintf(char *str, const char *format, ...).作用是格式化字符串,具体功能如下所示: (1)将数字变量转 ...
- php中sprintf与printf函数用法区别
下面是一个示例:四舍五入保留小数点后两位 代码如下 复制代码 <?php$num1 = 21;echo sprintf("%0.2f",$num1)."<b ...
- sscanf函数用法详解
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ...
- 【转】sscanf函数用法实例
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 . ...
- R 语言assign 和get 函数用法
assign函数在循环时候,给变量赋值,算是比较方便 1.给变量赋值 for (i in 1:(length(rowSeq)-1)){ assign(paste("nginx_server_ ...
- sscanf函数
sscanf函数用法举例 #include <stdio.h> #include <string.h> #define N 512 int main() { char buf[ ...
- C语言函数sscanf()的用法
从文件读取数据是一件很麻烦的事,所幸有sscanf()函数. C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( st ...
- C语言函数sscanf()的用法(转)
转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中 ...
随机推荐
- Ocelot中文文档-缓存
目前Ocelot使用CacheManager项目提供了一些非常基本的缓存.这是一个了不起的项目,它解决了很多缓存问题. 我会推荐这个软件包来做Ocelot缓存. 如果你看看这里的例子,你可以看到如何设 ...
- var与let、const的区别
var与let.const 一.var声明的变量会挂载在window上,而let和const声明的变量不会: var a = 100;console.log(a,window.a); // 100 1 ...
- Spring Boot实战笔记(二)-- Spring常用配置(Scope、Spring EL和资源调用)
一.Bean的Scope Scope描述的是Spring容器如何新建Bean实例的.Spring的Scope有以下几种,通过@Scope注解来实现. (1)Singleton:一个Spring容器中只 ...
- Shiro入门之二 --------基于注解方式的权限控制与Ehcache缓存
一 基于注解方式的权限控制 首先, 在spring配置文件applicationContext.xml中配置自动代理和切面 <!-- 8配置自动代理 --> <bean cl ...
- Spring Boot全局支持CORS(跨源请求)的配置方法
http://blog.csdn.net/zhangchao19890805/article/details/53893735
- RBAC权限模型——项目实战(转)
一.前言 权限一句话来理解就是对资源的控制,对web应用来说就是对url的控制,关于权限可以毫不客气的说几乎每个系统都会包含,只不过不同系统关于权限的应用复杂程序不一样而已,现在我们在用的权限模型基本 ...
- C3垂直居中均分
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- [ Java面试题 ]多线程篇
1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速.比如,如果一个线程完成一 ...
- Spring 数据处理框架的演变
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 定量分析的成败在很大程度上取决于采集,存储和处理数据的能力.若能及时地向业务决策者提供深刻并可靠的数据解读,大数据项目就会有更多机会取得成功 ...
- Spring Boot + Websocket + Thymeleaf + Lombok
https://github.com/guillermoherrero/websocket 验证错误消息文件名字:是默认名ValidationMessages.properties,编译后存放在cla ...