欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解C語言sscanf()函數(shù)、vsscanf()函數(shù)、vscanf()函數(shù)

 更新時(shí)間:2015年08月31日 15:38:17   投稿:goldensun  
這篇文章主要介紹了詳解C語言sscanf()函數(shù)、vsscanf()函數(shù)、vscanf()函數(shù),是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

C語言sscanf()函數(shù):從字符串中讀取指定格式的數(shù)據(jù)
頭文件:

#include <stdio.h>

sscanf()函數(shù)用于從字符串中讀取指定格式的數(shù)據(jù),其原型如下:
   

 int sscanf (char *str, char * format [, argument, ...]);

【參數(shù)】參數(shù)str為要讀取數(shù)據(jù)的字符串;format為用戶指定的格式;argument為變量,用來保存讀取到的數(shù)據(jù)。

【返回值】成功則返回參數(shù)數(shù)目,失敗則返回-1,錯誤原因存于errno 中。

sscanf()會將參數(shù)str 的字符串根據(jù)參數(shù)format(格式化字符串)來轉(zhuǎn)換并格式化數(shù)據(jù)(格式化字符串請參考scanf()), 轉(zhuǎn)換后的結(jié)果存于對應(yīng)的變量中。

sscanf()與scanf()類似,都是用于輸入的,只是scanf()以鍵盤(stdin)為輸入源,sscanf()以固定字符串為輸入源。

【實(shí)例】從指定的字符串中讀取整數(shù)和小寫字母。

#include <stdio.h>
int main(void)
{
  char str[100] ="123568qwerSDDAE";
  char lowercase[100];
  int num;
  sscanf(str,"%d %[a-z]", &num, lowercase);
  printf("The number is: %d.\n", num);
  printf("The lowercase is: %s.", lowercase);
  return 0;
}

輸出結(jié)果:

The number is: 123568.
The lowercase is: qwer.

可以看到format參數(shù)有些類似正則表達(dá)式(當(dāng)然沒有正則表達(dá)式強(qiáng)大,復(fù)雜字符串建議使用正則表達(dá)式處理),支持集合操作,例如:

  •     %[a-z] 表示匹配a到z中任意字符,貪婪性(盡可能多的匹配)
  •     %[aB'] 匹配a、B、'中一員,貪婪性
  •     %[^a] 匹配非a的任意字符,貪婪性

另外,format不僅可以用空格界定字符串,還可以用其他字符界定,可以實(shí)現(xiàn)簡單的字符串分割(更加靈活的字符串分割請使用strtok())。例如:

  sscanf("2006:03:18", "%d:%d:%d", a, b, c);
  sscanf("2006:03:18 - 2006:04:18", "%s - %s", sztime1, sztime2);

C語言vsscanf()函數(shù):字符串輸入函數(shù)
頭文件:

 #include <stdio.h>

定義函數(shù):

int vsscanf(const char * str, const char * format, va_list ap);

函數(shù)說明:vsscanf()會將參數(shù)str 的字符串根據(jù)參數(shù)format 字符串來轉(zhuǎn)換并格式化數(shù)據(jù). 格式轉(zhuǎn)換形式請參考附錄C 或vprintf()范例。

返回值:成功則返回參數(shù)數(shù)目, 失敗則返回-1, 錯誤原因存于errno 中.

C語言vscanf()函數(shù):字符串格式化輸入函數(shù)
頭文件:

#include <stdio.h>  #include <stdarg.h>

定義函數(shù):

int vscanf(const char * format, va_list ap);

函數(shù)說明:vscanf()會將輸入的數(shù)據(jù)根據(jù)參數(shù)format 字符串來轉(zhuǎn)換并格式化數(shù)據(jù). 格式轉(zhuǎn)換形式請參考scanf(). 轉(zhuǎn)換后的結(jié)果存于對應(yīng)的參數(shù)內(nèi). va_list 用法請參考附錄C 或vprintf()范例.
返回值成功則返回參數(shù)數(shù)目, 失敗則返回-1, 錯誤原因存于errno 中。


相關(guān)文章

  • Linux下g++編譯與使用靜態(tài)庫和動態(tài)庫的方法

    Linux下g++編譯與使用靜態(tài)庫和動態(tài)庫的方法

    下面小編就為大家?guī)硪黄狶inux下g++編譯與使用靜態(tài)庫和動態(tài)庫的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • C++面試八股文之override和finial關(guān)鍵字有何作用

    C++面試八股文之override和finial關(guān)鍵字有何作用

    C++11中的override和final關(guān)鍵字是為了增強(qiáng)代碼的編譯時(shí)類型檢查和面向?qū)ο笤O(shè)計(jì)中的繼承機(jī)制,下面這篇文章主要給大家介紹了關(guān)于C++面試八股文之override和finial關(guān)鍵字有何作用的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • C++11計(jì)時(shí)器之chrono庫簡介

    C++11計(jì)時(shí)器之chrono庫簡介

    C++11有了chrono庫,可以在不同系統(tǒng)中很容易的實(shí)現(xiàn)定時(shí)功能,要使用chrono庫,需要#include,其所有實(shí)現(xiàn)均在std::chrono namespace下,本文給大家介紹C++11計(jì)時(shí)器:chrono庫介紹,感興趣的朋友一起看看吧
    2023-12-12
  • C語言實(shí)現(xiàn)學(xué)生個(gè)人消費(fèi)管理系統(tǒng)

    C語言實(shí)現(xiàn)學(xué)生個(gè)人消費(fèi)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生個(gè)人消費(fèi)管理系統(tǒng)開發(fā),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++實(shí)現(xiàn)線程同步的四種方式總結(jié)

    C++實(shí)現(xiàn)線程同步的四種方式總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)線程同步的四種方式,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C++有一定的幫助,需要的可以參考一下
    2022-11-11
  • C++多線程實(shí)現(xiàn)電子詞典

    C++多線程實(shí)現(xiàn)電子詞典

    這篇文章主要為大家詳細(xì)介紹了C++多線程實(shí)現(xiàn)電子詞典,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C++空類及沒有成員變量的類的大小實(shí)例分析

    C++空類及沒有成員變量的類的大小實(shí)例分析

    這篇文章主要介紹了C++空類及沒有成員變量的類的大小,對于初學(xué)者更好的了解C++的指針及類的存儲結(jié)構(gòu)很有幫助,需要的朋友可以參考下
    2014-07-07
  • Java C++題解leetcode915分割數(shù)組示例

    Java C++題解leetcode915分割數(shù)組示例

    這篇文章主要為大家介紹了Java C++題解leetcode915分割數(shù)組示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 一篇文章帶你了解C語言內(nèi)存對齊公式

    一篇文章帶你了解C語言內(nèi)存對齊公式

    這篇文章主要介紹了C語言內(nèi)存對齊,包括內(nèi)存對其的基本概念及用法,以及注意事項(xiàng),并以實(shí)例形式加以說明,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • 深度理解c++中的this指針

    深度理解c++中的this指針

    這篇文章主要介紹了C++編程指向成員的指針以及this指針的基本使用指南,與C語言一樣,存儲的數(shù)值被解釋成為內(nèi)存里的一個(gè)地址,需要的朋友可以參考下。
    2016-07-07

最新評論