主题 : linux文件编程 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 21151
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
综合积分: 26 分
注册时间: 2010-05-12
最后登录: 2017-09-13
楼主  发表于: 2010-05-27 22:41

 linux文件编程

#include<stdio.h>
                                                                                
int main()
{
FILE * fp;
char f[20];
char file[30];
//int *a[]={12,33,23,24,12};
char *str="hello,I am  program!";
printf("please enter the city:");
scanf("%s",f);
sprintf(file,"/weather/%s.xml",f);
if((fp=fopen(file,"wr"))==NULL)
{
printf("open fail\n");
return -1;
}
if((fseek(fp,-3,SEEK_END))!=0);
{printf("seek fail\n");
close(fp);
return -1;
}
if((fwrite(str,sizeof(str),strlen(str),fp))==NULL)
{
printf("write fail\n");
close(fp);
return -1;
}
//close(fp);
return 0;
}
编译执行后 fseek fail  。。。。

linux环境下的 连if((fseek(fp,-3,SEEK_END))!=NULL);也试过了 我的本意是将光标移动到文件的倒三位置 然后在这个位置上写入新数据的
级别: 新手上路
UID: 21151
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
综合积分: 26 分
注册时间: 2010-05-12
最后登录: 2017-09-13
1楼  发表于: 2010-05-28 13:42
if((fseek(fp,-3,SEEK_END))!=-1);