sscanf与sprintf
时间: 2024-05-22 18:09:02 浏览: 92
sscanf和sprintf都是C语言中的标准库函数,用于格式化字符串和其他数据类型之间的转换。
sscanf函数可以将字符串中的格式化数据读取出来,并将其存储到变量中。其函数原型为:int sscanf(const char *str, const char *format, ...);
其中,str表示要读取的字符串,format是字符串中数据的格式,...表示可变参数,可以是任何类型的指针。
举个例子,如果有一个字符串"2022 10 1",我们可以使用sscanf将其转换成三个整数分别表示年月日:
```
char str[] = "2022 10 1";
int year, month, day;
sscanf(str, "%d %d %d", &year, &month, &day);
```
sprintf函数则可以将其他数据类型转换成字符串,并将其存储到一个字符数组中。其函数原型为:int sprintf(char *str, const char *format, ...);
其中,str表示存储转换后字符串的字符数组,format是字符串的格式,...表示可变参数,可以是任何类型的值。
举个例子,如果有三个整数表示年月日,我们可以使用sprintf将它们转换成一个字符串:
```
int year = 2022, month = 10, day = 1;
char str[20];
sprintf(str, "%d-%02d-%02d", year, month, day);
```
这样,str数组中就存储了格式化后的字符串"2022-10-01"。
阅读全文