1樓:何竹道
fscanf是格式化輸入,你提供的內容又不是嚴格按照格式給的,屬於誤用。
出現「燙燙燙燙燙燙燙燙燙燙」應該是因為未進行初始化,你將初始化一下,或寫成。
for(i=0;i '0';
fscanf(fp,"%s",;
試一下。
2樓:網友
建議不要用fscanf,因為它對檔案的格式要求太嚴格了,必須和你讀取的格式相同:
fp=fopen(filename,"rb");
for(i=0;ifscanf(fp,"%s",;
if ((=0')
=r') =n'))
i--;if (feof(fp))
break;
用fgets修改如下:
fp=fopen(filename,"rb");
for(i=0;ifgets(, 20, fp);
if ((=0')
=r') =n'))
i--;if (feof(fp))
break;
fscanf 讀取檔案
3樓:匿名使用者
fscanf(fp,"%d",&n);
它的作用是從fp讀取乙個整數,存入n變數。
你就把它當作scanf("%d",&n)來理解就行了,只不過fscanf(fp,"%d",&n);是從fp檔案讀取,而scanf("%d",&n);是從鍵盤讀取,除此之外,兩個函式是相同。
因為for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);
將陣列a的三個數字依次寫入檔案fp,並且數字之間沒有分隔符,所以這三個數字會連在一起,也就是123,這樣,後面的fscanf()讀取時,當然會讀取出123這個數字,而不是1
4樓:網友
從fp所指的檔案中,以整數形式讀取資料至n
r w是文字讀寫。
fscanf函式可能也是以/0或/n或非法字元結束。
5樓:網友
#include
main()
i,n;fp=fopen("","w");//開啟新檔案for(i=0;i<3;i++)fprintf(fp,"%d",a[i]);//迴圈寫入"123"
fprintf(fp,"");//寫入""
fclose(fp);
fp=open("","r");//讀檔案fscanf(fp,"%d",&n);//讀入剛才寫入的"123",(類似鍵盤輸入,遇到空格或者回車結束乙個輸入)
fclose(fp);
printf("%d",n);//列印123}
用fscanf這樣從檔案讀資料可以嗎?
6樓:網友
如果格式是強制固定a,b,c的話,完全可以這樣讀取而且fscanf可以包含多個引數的,直接:
這樣就好了啊,寫那麼多行幹啥?
7樓:apple林
你的數字都是int型別的,所以讀入的時候,應該是"%d".
fscanf(fp,"%d,",&x);
fscanf(fp,"%d,",&y);
fscanf(fp,"%d",&z);
fscanf(fp,"");
看看這樣子行不行。
怎麼用fscanf讀入檔案下一行
8樓:匿名使用者
如果檔案中的數字只是用空格或者回車符作分隔,就做如下修改:改為。
9樓:網友
你沒有把換行符跳過,應改為fprintf(fp,"%d %d %d%d %d %d%[*n]%*c",a,b,c,d,e,f)。 n]表示把這一行從當前位置到行尾的字元全部讀出並丟棄。%*c表示丟棄換行符,轉到下一行。
fscanf讀檔案出現亂碼
10樓:
寫入時寫入了\t而讀出時卻沒有考慮這個\t……
檔案讀取,fscanf()的使用問題!
11樓:網友
da 只是定義了,但是沒有給他賦值,就直接使用了。。。
c 中使用getline怎麼讀檔案?
在c 中,getline函式是用來從標準輸入流cin中讀取整行資料的。即預設情況下,getline讀的不是哪個檔案,而是命令列中鍵盤的輸入。要使用getline讀檔案,首先要做的就是將cin重定向到要讀的檔案中。可以採用以下 實現。streambuf backup ifstream fin 開啟要讀...
什麼是企業工商外檔什麼是機讀檔案
企業工商外檔資料是各檔案存放地工商局總結和製作的電子資訊頁,有時也叫做機讀檔案。機讀檔案 以 形式和特定結構記錄在計算機儲存載體上的 計算機能夠識別處理的檔案文獻資訊。包括兩種 一是在實現了辦公室自動化和無紙辦公系統的部門形成並歸檔的機讀檔案 二是將傳統型別檔案資訊輸入計算機,轉換而成的機讀檔案。企...
outlook裡面有資料夾一直顯示有未讀郵件但
感謝樓主!3.點開這個連線之後,登入賬號,找到未讀郵件進行已讀,再回到outlook客戶端,未讀郵件已經已讀啦!樓主說得對,客戶端郵件已讀了,但是沒有反映到服務端,要去服務端檢視,就可以看到未讀郵件了。關於怎麼看服務端的郵件 客戶端左上角檔案 資訊 賬戶設定 在賬戶設定裡有個連線,點開就可以進入服務...