從字串中提取整數

2021-09-26 05:26:49 字數 1186 閱讀 7704

首先說一下我要做的事情:

從乙個txt檔案中(存著乙個矩陣),從這個檔案中提取出這個檔案中的整數。

矩陣:1 2 3 4

5 6 7 8

0 1 8 7

3 8 2 9

之前用的函式是fgets()。

char * fgets(char * s, int n,file *stream);

引數: s: 字元型指標,指向儲存讀入資料的緩衝區的位址。

n: 從流中讀入n-1個字元

stream : 指向讀取的流。

返回值:

1. 當n<=0 時返回null,即空指標。

2. 當n=1 時,返回空串"".

3. 如果讀入成功,則返回緩衝區的位址。

4. 如果讀入錯誤或遇到檔案結尾(eof),則返回null.

但是取出一行字串以後還是乙個字串,還要考慮從字串中取出整數,要判斷空格之類的,感覺有點兒費勁(其實是沒整明白)

然後就查啊查,get到了乙個超級好用的函式!wow~

fscanf 函式:

功 能: 從乙個流中執行格式化輸入,fscanf遇到空格和換行時結束,注意空格時也結束。

用 法:int fscanf(file *stream, char *format,[argument…]);

int fscanf(檔案指標,格式字串,輸入列表);

for example:

file*fp;

chara[10];

intb;

doublec;

fscanf(fp,"%s%d%lf",a,&b,&c)

返回值:整型,數值等於[argument…]的個數

我的實現**是:

file *f;

f = fopen("data.txt","r");

if(null == f)

int data_1;

while( 1 == fscanf(f, "%d", &data_1) )

哈哈哈,就是這麼簡單啦,然後輸出的就是:

1234567801873829

這就達到了我如此簡單的目的。。。

如果有大神看到,請大神幫我指出明路,給一些建議,例如學習c語言,cuda語言,平行計算之類的經驗。

感謝!

從字串中提取數字

下面程式將字串中的連續數字提取出來,並存放到一維陣列中。比如說乙個字串 a284twx234 je3432 把 284 234 3432 這3個連續數字提取出來,分別存放到a 0 a 1 a 2 中。include include include int main buf i 0 sscanf bu...

如何從字串中提取數值

如何從字串中提取數值,比如從 10 16mn 中提取10這個數值,當然在字串中 後面 的數值長度不定,而 中的字串長度也不定。來個迴圈比較看看,條件是 in 0.9 str abc056 s for i 1 to length str do begin if str i in 0 9 then s ...

python 從字串中提取資料

1.使用正規表示式,用法如下 總結 匹配字串的開始。匹配字串的結尾。b 匹配乙個單詞的邊界。d 匹配任意數字。d 匹配任意非數字字元。x?匹配乙個可選的 x 字元 換言之,它匹配 1 次或者 0 次 x 字元 x 匹配0次或者多次 x 字元。x 匹配1次或者多次 x 字元。x 匹配 x 字元,至少 ...