程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 詳解C說話sscanf()函數、vsscanf()函數、vscanf()函數

詳解C說話sscanf()函數、vsscanf()函數、vscanf()函數

編輯:關於C++

詳解C說話sscanf()函數、vsscanf()函數、vscanf()函數。本站提示廣大學習愛好者:(詳解C說話sscanf()函數、vsscanf()函數、vscanf()函數)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解C說話sscanf()函數、vsscanf()函數、vscanf()函數正文


C說話sscanf()函數:從字符串中讀取指定格局的數據
頭文件:

#include <stdio.h>

sscanf()函數用於從字符串中讀取指定格局的數據,其原型以下:
   

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

【參數】參數str為要讀取數據的字符串;format為用戶指定的格局;argument為變量,用來保留讀取到的數據。

【前往值】勝利則前往參數數量,掉敗則前往-1,毛病緣由存於errno 中。

sscanf()會將參數str 的字符串依據參數format(格局化字符串)來轉換並格局化數據(格局化字符串請參考scanf()), 轉換後的成果存於對應的變量中。

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

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

#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;
}

輸入成果:

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

可以看到format參數有些相似正則表達式(固然沒有正則表達式壯大,龐雜字符串建議應用正則表達式處置),支撐聚集操作,例如:

  •     %[a-z] 表現婚配a到z中隨意率性字符,貪心性(盡量多的婚配)
  •     %[aB'] 婚配a、B、'中一員,貪心性
  •     %[^a] 婚配非a的隨意率性字符,貪心性

別的,format不只可以用空格界定字符串,還可以用其他字符界定,可以完成簡略的字符串朋分(加倍靈巧的字符串朋分請應用strtok())。例如:

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

C說話vsscanf()函數:字符串輸出函數
頭文件:

 #include <stdio.h>

界說函數:

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

函數解釋:vsscanf()會將參數str 的字符串依據參數format 字符串來轉換並格局化數據. 格局轉換情勢請參考附錄C 或vprintf()典范。

前往值:勝利則前往參數數量, 掉敗則前往-1, 毛病緣由存於errno 中.

C說話vscanf()函數:字符串格局化輸出函數
頭文件:

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

界說函數:

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

函數解釋:vscanf()會將輸出的數據依據參數format 字符串來轉換並格局化數據. 格局轉換情勢請參考scanf(). 轉換後的成果存於對應的參數內. va_list 用法請參考附錄C 或vprintf()典范.
前往值勝利則前往參數數量, 掉敗則前往-1, 毛病緣由存於errno 中。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved