fprintf,sprintf,sscanf,fscanf
功 能: 傳送格式化輸出到一個文件中
用 法: int fprintf(FILE *stream, char *format[, argument,...]);
sprintf 將字串格式化。
??? //把整數123 打印成一個字符串保存在s 中。
sprintf(s, "%d", 123); //產生"123"
可以指定寬度,不足的左邊補空格:
sprintf(s, "%8d%8d", 123, 4567); //產生:" 123 4567"
?
????sscanf() - 從一個字符串中讀進與指定格式相符的數據.?
??? 1. 常見用法。
char buf[512] = ;
sscanf("123456 ", "%s", buf);
printf("%s\n", buf);
結果為:123456
2. 取指定長度的字符串。如在下例中,取最大長度為4字節的字符串。
sscanf("123456 ", "%4s", buf);
printf("%s\n", buf);
結果為:1234
3. 取到指定字符為止的字符串。如在下例中,取遇到空格為止字符串。
sscanf("123456 abcdedf", "%[^ ]", buf);
printf("%s\n", buf);
結果為:123456
4. 取僅包含指定字符集的字符串。如在下例中,取僅包含1到9和小寫字母的字符串。
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s\n", buf);
結果為:123456abcdedf
5. 取到指定字符集為止的字符串。如在下例中,取遇到大寫字母為止的字符串。
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s\n", buf);
結果為:123456abcdedf
6、給定一個字符串iios/12DDWDFF@122,獲取 / 和 @ 之間的字符串,先將 "iios/"過濾掉,再將非'@'的一串內容送到buf中
sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
printf("%s\n", buf);
結果為:12DDWDFF
7、給定一個字符串““hello, world”,僅保留world。(注意:“,”之后有一空格)
sscanf(“hello, world”, "%*s%s", buf);
printf("%s\n", buf);
結果為:world
%*s表示第一個匹配到的%s被過濾掉,即hello被過濾了
如果沒有空格則結果為NULL。
?
?? 函數名: fscanf
功 能: 從一個流(文件)中執行格式化輸入
總結
以上是生活随笔為你收集整理的fprintf,sprintf,sscanf,fscanf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习能力和工作态度是准绳
- 下一篇: sscanf,sprintf,fscan