Ⅰ c語言 fscanf函數使用
沒打看懂你說的什麼意思, 只是感覺你寫的有個地方有問題,你在往文件中寫的時候fprintf(f1,"%d\n",temp);是每個字後面都一個回車, 而在讀的時候又按照fscanf(f1,"%d",&temp); 這種沒有回車的形式讀的 ,當然會出問題了, 我幫著改了一下, 你看下行不...
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i;
char temp;
FILE *f1; // source file (bmp)
if((f1=fopen("write.hex","w"))==NULL)
{
printf("f1 error\n");
exit(0);
}
for (i=0;i<8;i++)
{
temp = i;
fprintf(f1,"%d",temp);
}
fclose(f1);
if((f1=fopen("write.hex","r"))==NULL)
{
printf("f1 error\n");
exit(0);
}
for (i=0;i<100;i++)
fscanf(f1,"%d",&temp);
fclose(f1);
}
Ⅱ 如何使用fscanf
fscanf
簡述:C語言中基本的文件操作
函數名:fscanf
功 能:從一個流中執行格式化輸入,fscanf遇到空格和換行時結束,注意空格時也結束。這與fgets有區別,fgets遇到空格不結束。
返回值:整型,成功返回讀入的參數的個數,失敗返回EOF(-1)。
用法:
FILE *stream:文件指針
char *format:格式字元串
[argument...]:輸入列表
格式字元說明
常用基本參數對照:
%d:讀入一個十進制整數.
%i :讀入十進制,八進制,十六進制整數,與%d類似,但是在編譯時通過數據前置或後置來區分進制,如加入"0x"則是十六進制,加入"0"則為八進制。例如串"031"使用%d時會被算作31,但是使用%i時會算作25.
%u:讀入一個無符號十進制整數.
%f %F %g %G : 用來輸入實數,可以用小數形式或指數形式輸入.
%x %X: 讀入十六進制整數.
%o': 讀入八進制整數.
%s : 讀入一個字元串,遇空字元'