首先說一下我要做的事情:
從乙個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 字元,至少 ...