c語言fscanf的用法
A. 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);
}
B. C語言中fscanf()的用法
功 能: 從一個流中執行格式化輸入\x0d\x0a 用 法: int fscanf(FILE *stream, char *format,[argument...]);\x0d\x0a int fscanf(文件指針,格式字元串,輸入列表);\x0d\x0a 返回值:整型,數值等於[argument...]的個數\x0d\x0a 程序例:\x0d\x0a #include \x0d\x0a #include \x0d\x0a int main(void)\x0d\x0a {\x0d\x0a int i;\x0d\x0a printf("Input an integer: ");\x0d\x0a if (fscanf(stdin, "%d", &i))\x0d\x0a printf("The integer read was: %d\n",\x0d\x0a i);\x0d\x0a else\x0d\x0a {\x0d\x0a fprintf(stderr, "Error reading an \\x0d\x0a integer from stdin.\n");\x0d\x0a exit(1);\x0d\x0a }\x0d\x0a return 0;\x0d\x0a }\x0d\x0a 返回EOF如果讀取到文件結尾。
C. c語言printf(),fscanf()
1、在TC中沒有printf(/f);這種有法;
2、fscanf(%[^n],str);
應該是scanf(「%[^\n]\n「,str);
fscanf的原型是int
fscanf(文件指針,格式字元串,輸入列表);
scanf(「%[^\n]\n「,str);的意思是從終端上讀取一整行輸入。
[...]的用法和s一樣,只讀取[
]中的字元,^是反轉的意思,^後的字元被當作是結束字元。
D. C語言關於fscanf函數
fprintf(fp,"%s,%c,%d,%f",str,a,
c,
b);
這個輸出格式表明
你的文件1.txt
里的數據
是用
逗號
分
隔。
if((fp
=
fopen("1.txt","r"))==NULL)
你要打開
讀
這個
用
逗號為
分隔符
的文件。
fscanf(fp,"%s,%c,%d,%f",
str,
&a,
&c,
&b);
漏寫
str,
給你補上,但
這仍不能解決
%s,
的逗號分隔問題。
必須
用下面格式讀取逗號分隔的數據:
fscanf(fp,"%[^,],%c,%d,%f",
str,
&a,
&c,
&b);
======================================
假如文件里的數據
用
空白
分隔,不用
逗號,日子就好過得多:
fprintf(fp,"%s
%c
%d
%f",str,a,
c,
b);
fscanf(fp,"%s
%c
%d
%f",
str,
&a,
&c,
&b);
E. c語言中的fscanf()函數
是以空格分隔的。
fscanf會返回讀取成功的數據個數,你可以用
int ans=fscanf(fp,"%d%d",&a,&b);
的方法,看ans是否為2,是則表示輸入成功。
文件指針是自動遞增的