sscanf及sprintf

在程序中,我们肯定会遇到许多处理字符串的操作,当然C++中的string类已经做了很好了,但是也不要忘了C中的sscanf和sprintf

这两个函数用法跟printf和scanf用法很相似,只不过数据源和数据目的地从标准输入输出转换成了内存中的字符串。

int sscanf ( const char * s, const char * format, ...);
 1 /* sscanf example */
 2 #include <stdio.h>
 3
 4 int main ()
 5 {
 6   char sentence []="Rudolph is 12 years old";
 7   char str [20];
 8   int i;
 9
10   sscanf (sentence,"%s %*s %d",str,&i);
11   printf ("%s -> %d\n",str,i);
12
13   return 0;
14 }
int sprintf ( char * str, const char * format, ... );
 1 /* sprintf example */
 2 #include <stdio.h>
 3
 4 int main ()
 5 {
 6   char buffer [50];
 7   int n, a=5, b=3;
 8   n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
 9   printf ("[%s] is a string %d chars long\n",buffer,n);
10   return 0;
11 }
时间: 2024-12-29 07:17:27

sscanf及sprintf的相关文章

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

sscanf和sprintf是scanf和printf家族用法 sscanf和sprintf是scanf和printf家族的一对成员,用于处理和分析字符串非常强大得两个函数头文件 stdio.h原型int sscanf(const char *buffer,const char *format,...);int sprintf(char *buffer,const char *format,...);功能:类似于scanf和printf 但把字符串*buffer用于输入输出1.sprintf用于

C语言sscanf和sprintf输入输出使用及Strlen、Memset解释

sscanf() - 从一个字符串中读进与指定格式相符的数据. swscanf()- 用于处理宽字符字符串,和sscanf功能相同 通过学习和使用个人认为,在字符串格式不是很复杂,但是也并不简单的时候用这个函数比较合适,这个尺度就要靠自己把握了,字符串不是很复杂,但自己写个处理的函数比较麻烦,效率也不高,就用这个函数,如果字符串很复杂,那就用正则表达式吧. 不多说了,看看下面这些介绍和列子吧! 名称:sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf

sscanf,snprintf,sprintf小结

一.sprintf sprint函数原型为 int sprintf(char *str, const char *format, ...).作用是格式化字符串,具体功能如下所示: (1)将数字变量转换为字符串. (2)得到整型变量的16进制和8进制字符串. (3)连接多个字符串. 举例如下 char str[256] = { 0 }; int data = 1024; //将data转换为字符串 sprintf(str,"%d",data); //获取data的十六进制 sprintf

函数sscanf()及sprintf()的简单讲解 --- NOJ 2015 PUMA

本次讲解将结合NOJ-2015和cplusplus.com的讲解进行, 题目链接如下: http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=2015 cplusplus的地址: http://www.cplusplus.com/ 从字面理解这两个函数的意思分别是从字符串读入和输出到字符串,即 Read formatted data from string 与 Write formatted data

C语言sprintf和sscanf函数用法

以前刚用C语言的时候,觉得字符串很难处理,后来用多了,发现其实并非如此,C语言也提供了许多函数给程序员使用.今天记录一下两个常用的两个字符串处理函数:sprintf和sscanf 1. sprintf 从名称上来看,这个函数名称由三部分组成: s 代表字符串(string) print 代表打印 f 代表格式化(format) 这样拆分,可以大概知道它是干嘛用的了,相对于我们常用的用来处理输出流的printf,sprintf是用来处理字符串的.实际上这个函数,是把数据按格式打印到字符串中,常用于

PAT甲题题解-1108. Finding Average (20)-字符串处理

求给出数的平均数,当然有些是不符合格式的,要输出该数不是合法的. 这里我写了函数来判断是否符合题目要求的数字,有点麻烦. #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> using namespace std; const int maxn=105; bool islegal(char*str){ int len=strlen(str); int p

ACM 刷题小技巧【转】

转载自URl-team ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好不要用cin.cout,防止超时. 2.有时候int型不够用,可以用long long或__int64型(两个下划线__). 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数.

acm的做题技巧

1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好不要用cin.cout,防止超时. (或加上 1 ios::sync_with_stdio(false); 2.有时候int型不够用,可以用long long或__int64型(两个下划线__). 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807

Matlab入门学习(文件读写)

一.save,load >> a=[1 2 3 4]; >> b=[4 5 6 7] b = 4 5 6 7 >> save('b.mat','a','b');%a file named b.mat will exit >> clear >> load b.mat >> %load the data a and b 二.txt文件 假设在当前目录下有个txt文件data.txt,内容如下: 1 2 34 5 67 8 9 使用语句: