sscanf , sprintf
时间: 2023-11-17 16:02:55 浏览: 87
//正确方法-第1讲 C++实用技巧与STL
canf和sprintf是C语言中的两个函数,都在头文件stdio.h下。
sscanf函数可以将一个字符串按照指定的格式转换成相应的数据类型,常用于从字符串中提取需要的信息。其原型为:
```c
int sscanf(const char *str, const char *format, ...);
```
其中,str为要转换的字符串,format为转换格式,...表示可变参数列表,即需要转换的变量。
sprintf函数可以将一个格式化的字符串输出到一个字符数组中,常用于将多个变量的值输出到一个字符串中。其原型为:
```c
int sprintf(char *str, const char *format, ...);
```
其中,str为输出的字符数组,format为输出格式,...表示可变参数列表,即需要输出的变量。
举个例子,假设有一个字符串str为"Tom 18 90.5",我们想要将其中的名字、年龄和成绩分别提取出来,可以使用sscanf函数:
```c
char name[10];
int age;
float score;
sscanf(str, "%s %d %f", name, &age, &score);
```
这样,name就被赋值为"Tom",age被赋值为18,score被赋值为90.5。
再举个例子,假设我们有三个变量name、age和score,我们想要将它们的值输出到一个字符串中,可以使用sprintf函数:
```c
char str[50];
sprintf(str, "Name: %s, Age: %d, Score: %.1f", name, age, score);
```
这样,str就被赋值为"Name: Tom, Age: 18, Score: 90.5"。
阅读全文