sprintf()与sscanf()
1、sprintf()
sprintf()用于向字符串中写入格式化的数据,eg:
int dSrc1 = 1;
int dSrc2 = 2;
char str[] = "hello";
char buf[100] = { 0 };
sprintf_s(buf, (unsigned)_countof(buf), "%4d,%4d,%s", dSrc1, dSrc2, str);
cout << buf << endl; //输出为 1, 2,hello
_countof:用来计算一个静态分配的数组中的元素的个数,sizeof是用来计算字节数,所需头文件stdlib.h
2、sscanf()
sscanf()用来从字符串中读取格式化的数据到变量或字符数组中,eg:
char*p = "1234abcd";
char buf1[100] = { 0 };
sscanf_s(p, "%s", buf1, (unsigned)_countof(buf1));
cout << buf1 << endl; //输出为1234abcd
char buf2[100] = { 0 };
sscanf_s(p, "%4s", buf2, (unsigned)_countof(buf2));
cout << buf2 << endl; //输出为1234
char strSrc[] = " 1, 2,hello";
int dDest1;
int dDest2;
char buf3[100] = { 0 };
sscanf_s(strSrc, "%4d,%4d,%s", &dDest1, &dDest2, buf3, (unsigned)_countof(buf3));//dDest1:1, dDest2:2, strDest:"hello"
cout << dDest1 << ", " << dDest2 << "," << buf3 << endl;//输出1, 2, hello
sprintf()与sscanf()的更多相关文章
- C语言sprintf和sscanf函数用法
以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用.今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf 1. sprintf ...
- C语言sprintf与sscanf函数
1.前言 我们经常涉及到数字与字符串之间的转换,例如将32位无符号整数的ip地址转换为点分十进制的ip地址字符串,或者反过来.从给定的字符串中提取相关内容,例如给定一个地址:http://www.bo ...
- 字符与数字的转换:sprintf和sscanf
目录 字符与数字的转换:sprintf和sscanf 简单介绍 实例 运行结果 字符与数字的转换:sprintf和sscanf 简单介绍 sprintf和sscanf都是stdio.h头文件中的函数, ...
- 使用stringstream代替sprintf和sscanf
C++里面的字符串格式话 之前一直是用的sprintf和sscanf 比较麻烦的是要申请一个字符数组然后在调用 用stringstream就比较完美 int main(int narg,char** ...
- C语言sprintf与sscanf函数[总结]
sprintf函数 sprintf函数原型为 int sprintf(char *str, const char *format, ...).作用是格式化字符串,具体功能如下所示: (1)将数字变量转 ...
- sprintf和sscanf
sprintf 一个可以将输入打印到字符串的函数,用法与printf差不多 可以参考这篇文章: http://blog.csdn.net/masibuaa/article/details/563488 ...
- 浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别
printf语法: #include <stdio.h>int printf( const char *format, ... ); printf()函数根据format(格式)给出的格式 ...
- sprintf与sscanf用法举例
一.sscanf 从tmp中读取a,b,c. int main(){ ]; int a; double b; ]; while(gets(tmp) != NULL){ sscanf(tmp, &quo ...
- sscanf与正则表达式(转)
今天翻google reader的时候看到这样一篇文章,介绍的是sscanf的高级用法.直到今天我才知道sscanf是可以直接用正则表达式的,惭愧. 在msdn中sscanf的声明如下 int ssc ...
随机推荐
- synchronized细节问题(二)
使用synchronized声明的方法在某些情况下是有弊端的,比如A线程调用同步的方法执行一个很长时间的任务,那么B线程就必须等待比较长的时间才能执行,这样的情况下,可以使用synchronized代 ...
- 在CentOS7.4上手动编译安装Mysql-5.7.20
实验环境:CentOS 7.4 mysql软件: mysql-boost-5.7.20.tar.gz 1.安装编译工具 yum -y install \ncurses \ncurses-devel \ ...
- android的四种线程池
使用线程池的好处: 首先通过线程池中线程的重用,减少创建和销毁线程的性能开销.其次,能控制线程池中的并发数,否则会因为大量的线程争夺CPU资源造成阻塞.最后,线程池能够对线程进行管理,比如使用Sche ...
- idea中快捷键设置为eclipse中快捷键
打开file-settings,然后搜索key,在keymap中选择eclipse (1) (2)
- 微信小程序 wxml中的属性记录
1. view 标签中的属性 style 中的参数 margin-top:10px; (向上距离) display : flex; (display : flex 容器声明) flex-direc ...
- python3.5.2中文字符乱码问题解决
>>> str = "世界你好!" >>> b = str.encode('utf-8') >>> type(b) <c ...
- spingmvc项目根路径访问不到
问题: 如何改mvc中项目的欢迎页,或者叫做根路径 一个东西快弄完了,就剩下一个问题,应该是个小问题.就是mvc项目的欢迎页,怎么给改下呢 访问根路径http://localhost/demo 怎么都 ...
- opencv 形态学操作应用-提取水平与垂直线
adaptiveThreshold(~gray_src, binImg, , ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, , -); #include <ope ...
- hdu 2289 要二分的杯子
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2289 大意是 一个Cup,圆台形,给你它的顶部圆的半径,底部圆的半径,杯子的高度,和此时里面装的水的体 ...
- iOS.BackgroundTask
Background Task 的运行时间在iOS 6及以前有大约10分钟左右,在iOS 7中有180秒. Reference: 1. Multitasking in iOS 7 http://www ...