sscanf
刺蝟@http://blog.csdn.net/littlehedgehog
開始一直不理解sscanf的用法,在教室裏看書,沒有網可上,就一直來猜這個函數作用,不過也猜得八九不離十了。回頭來網上看看,沒想到sscanf的作用這麼強大。而且它的兄弟sprintf 我一直在用,呵呵,咋就沒想到他還有個弟弟呢?
sscanf與scanf類似,都是用於輸入的,只是後者以屏幕(stdin)爲輸入源,前者以固定字符串爲輸入源。比如說sscanf("12345","%s",buf) 這裏的輸入是"12345"這個字符串,然後以字符串的形式存放在buf中。
實例一
- char buf[512] = {0};
- sscanf("123456 ", "%s", buf); //把"123456"字符串以字符串格式輸入buf
- printf("%s/n", buf); //結果爲:123456
實例二
- sscanf("123456 ", "%4s", buf); // 取最大長度爲4字節的字符串。
- printf("%s/n", buf); // 結果爲:1234
實例三
- sscanf("123456 abcdedf", "%[^ ]", buf); //取遇到空格爲止字符串。
- printf("%s/n", buf); //結果爲:123456
實例四
- sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf); //取僅包含1到9和小寫字母的字符串。
- printf("%s/n", buf); //結果爲:123456abcdedf
實例五
- sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf); //取遇到大寫字母爲止的字符串。
- printf("%s/n", buf); //結果爲:123456abcdedf
sscanf裏面對字符串的處理 有點像正則表達式 不過功能就略遜一籌了。