案例
sscanf
函数:
解释:sscanf 函数用于从字符串中按照指定的格式读取数据。
原型:int sscanf(const char* str, const char* format, ...);
参数:
str:输入字符串,包含要解析的数据。
format:格式化字符串,用于指定输入数据的格式。
…:可变参数,用于接收解析后的数据。
返回值:成功读取和解析的数据项数。
示例:
#include <stdio.h>
int main() {
char data[] = "John 25";
char name[20];
int age;
sscanf(data, "%s %d", name, &age);
printf("Name: %s\n", name);
printf("Age: %d\n", age);
return 0;
}
在上述示例中,我们使用 sscanf 从字符串 data 中按照指定的格式 “%s %d”
读取数据。该格式要求读取一个字符串和一个整数。
我们将读取的字符串存储在 name 中,将读取的整数存储在 age 中。
然后,使用
printf 打印解析得到的数据。输出结果如下:
Name: John
Age: 25
sprintf
函数:
解释:sprintf 函数用于将格式化的数据写入字符串中。
原型:int sprintf(char* str, const char* format, ...);
参数:
str:目标字符串的指针,用于存储格式化后的数据。
format:格式化字符串,用于指定输出的格式。
…:可变参数,用于提供要格式化的数据。
返回值:成功写入的字符数(不包括结尾的空字符 \0)。
#include <stdio.h>
int main() {
char buffer[100];
int value = 42;
float pi = 3.14159;
sprintf(buffer, "Value: %d, Pi: %.2f", value, pi);
printf("Formatted string: %s\n", buffer);
return 0;
}
在上述示例中,
我们使用 sprintf 将整数 value 和浮点数 pi 格式化为字符串,并将结果存储在 buffer 中。
然后,我们使用
printf 打印格式化后的字符串到终端。输出结果如下:
Formatted string: Value: 42, Pi: 3.14