c语言从html控件sscanf,sscanf与sprintf在C语言中的用法
sscanf与sprintf是C语言处理字符串的利器,可以用于快速格式化字符串。
我们知道,C语言中的输入和输出函数:printf和scanf第一个参数是格式化输出的内容。
例如%d为整数,%f为浮点等等,%d+%d表示格式为"整数+整数"的格式。总而言之,就是格式化输入或输出的内容。
可以说sscanf,sprintf与scanf,printf的差别在于,后者以用户的输入作为输入输出流,而前者以程序运行内存中的变量作为输入或输出流。
(这么说是不严谨的,只是为了更好的理解嘛。。。)
举个简单的栗子:
#include
int main(void){
char a[10] = "Hello";
char b[10] = "World";
char str[20];
sprintf(str,"%s %s !",a,b); //将a和b按照 "%s %s !" 的格式输出到str中
puts(str);
return 0;
}
运行结果:
可以理解为sprintf是用第二个参数去格式化后面的量,然后将结果给第一个参数。
再看看sscanf:
#include
int main(void){
char str[] = "hello world";
char a[10], b[10];
sscanf(str,"%s %s",&a,&b); //将str当作输入流,按照 "%c %c" 格式化并分别给a和b
printf("a = %s,b = %s",a,b);
return 0;
}
运行结果:
使用这两个函数要注意:这两个函数的参数均为:第一个参数为字符串数组,第二个参数为格式,第三个以后的参数为其他变量。
另外,如果字符串数组不是char数组,而是C++的string,不可以直接用sscanf,应该用c_str()函数将string转化为char数组,例如:
sscanf(str.c_str(), "%d", &a);
否则编译器会报无法转换类型的错误
总结
以上是生活随笔为你收集整理的c语言从html控件sscanf,sscanf与sprintf在C语言中的用法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: SQL 语句中对于like 的调优
- 下一篇: 网站重构