文件处理
#include <stdio.h>int main()
{
int i=100;
FILE *fptr;
if ((fptr=fopen("hehe","w"))==NULL)
printf("wrong");
else
{
printf("enter number\n");
fprintf(fptr,"%d",i);
i = 200;
fscanf(fptr ,"%d",&i);
printf("%d",i);
}
fclose(fptr);
return 0;
}
我先用fprintf吧i输出到流,然后再给i赋值,在用fscanf,结果,printf输出的200;fscanf,就是从流中输入数据,那I不应该是100吗,还有一个是我把fscanf 里的fptr改成stdin ,结果变成类似scanf一样的,求解
本帖最后由 oggplay 于 2014-2-22 00:11 编辑
等鱼币 注意我的代码第17行注释说明#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=100;
FILE *in;
if ((in = fopen("hehe", "rt")) == NULL)
{printf("Cannot open input file.\n");
return -1;}
in = fopen("hehe", "at");//打开hehe文件,格式为追加
fprintf(in,"%d\n",i);//将i的值写入文件,每执行一次此程序100将会写入
i=200;
fscanf (stdin,"%d",&i);//从shell将i的值写入文件
fclose(in);
system("cat hehe");//显示文件,如果是windows系统将cat改为type
return 0;
} #include <stdio.h>
int main ()
{
int i = 100;
FILE * fptr;
fptr = fopen("hellow", "w+"); // 这里要使用 w+ 因为后面有读操作.
if (fptr == NULL)
{
printf("fopen error\n");
}
else
{
printf("enter number!\n");
fprintf(fptr, "%d\n", i);
i = 200;
rewind(fptr); //一定要调用这个函数. 把seek放到 文件头.
fscanf(fptr, "%d",&i);
printf("%d\n",i);
}
fclose(fptr);
return 1;
} 一楼正解,特别是读写函数会改变文件指针的位置,这个得注意 路过看看= =!
页:
[1]