大家好,小高來(lái)為大家解答以上問(wèn)題。matlab fscanf函數(shù)的用法,fscanf函數(shù)的用法很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
一、fscanf函數(shù)的用法
1、fscanf第一個(gè)參數(shù)需要一個(gè)文件指針,為了查看實(shí)驗(yàn)效果,這里先新建一個(gè)名為test.txt的文本文件,放在源代碼的文件夾,輸入如下內(nèi)容:
2、123
3、123.456
4、Hello world !
5、要對(duì)文件操作,必須將該文件打開(kāi):
6、fp = fopen("test.txt", "r");
7、同時(shí)使用完畢后不要忘記使用fclose關(guān)閉文件。
8、test.txt第一行保存的是一個(gè)整數(shù),所以可以使用fscanf先讀取一個(gè)整數(shù):
9、fscanf(fp, "%d", &num);
10、test.txt第二行保存了一個(gè)浮點(diǎn)數(shù),按照浮點(diǎn)數(shù)的格式進(jìn)行讀?。?/p>
11、fscanf(fp, "%f", &fNum);
12、需要注意的是,由于浮點(diǎn)數(shù)位于第二行,所以要想讀取這個(gè)浮點(diǎn)數(shù),應(yīng)當(dāng)先把第一個(gè)數(shù)讀完,否則讀取的回事123.000000
13、同樣可以使用類似的方法讀取位于第三行的字符串:
14、fscanf(fp, "%s", str);
15、但是,從程序的運(yùn)行結(jié)果發(fā)現(xiàn),第三行存儲(chǔ)的是Hello world !,而實(shí)際運(yùn)行結(jié)果只有“Hello”,這表明fscanf遇到空格會(huì)終止本次讀操作。
16、當(dāng)將fscanf第一個(gè)參數(shù)設(shè)定為stdin時(shí),將實(shí)現(xiàn)和scanf函數(shù)相同的效果:
17、fp = stdin;//設(shè)置fp為標(biāo)準(zhǔn)輸入
本文到此結(jié)束,希望對(duì)大家有所幫助。