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 的调优
- 下一篇: mysql的引双向链表_一分钟掌握MyS