linux下怎么用文件指针呀?

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:55:08
#include<stdio.h>
main ( )
{
int i;
FILE *fp;
fp=fopen("c:\\zifu.txt","r");
fscanf(fp,"%d",&i);
printf("%d \n",i);
i++;
fclose(fp);
printf("%d \n",i);
fp=fopen("c:\\zifu.txt","w");
fprintf(fp,"%d",i);
fclose(fp);
}
我在windows下编了个小程序以实现对文件中数字加一操作,已可以使用。
我想把它移植到linux上可是无法编译成功。
我不会linux下编程,想当然写成如下
#include "stdio.h"
#include "stdlib.h"
main()
{
int i;
FILE *fp;
fp=fopen("/tmp/1.txt","r");
fscanf(fp,"%d",&i);
printf("%d \n",i);
i++;
fclose(fp);
printf("%d",i);
fp=fopen("/tmp/1.txt","w");
fprintf(fp,"%d",i);
fclose(fp);
}
但gcc -O2 -Wall -o test test.c后
提示:test.c:4: warning: return type defaults to `int'

因为你打开了警告选项 -Wall 所以有的不是错误的提示信息也会打出来

linux 下gcc 对编译要求比vc下要严格

去掉-Wall 或者 函数末尾返回 int类型的值就可以

goodluck

你的main最后少了 return 0;

"stdio.h" 要写成 <stdio.h>