在linux下面一切皆文件这个概念因该深入linux 程序员或者将要成为linux 程序员的人心中。所以在linux下面对文件的操作是很重要的,下面是我做的一个例程用的是标准 I/O
对配置文件的改写是写linux程序很重要的一点,但是改写一个文件的时候,我们没有办法像用vi或者word那样直接插入就行了,因为,就算是word 或者vi他们都是把文件copy出来一个副本,然后你该然后再改名放回去,这基本上就是我理解的原理,所以代码也体现了这个原理,用标准I/O来做
/***********************************************/
/* name:changeini.c
* author:cyher
* date :2008-7-25
* description:change a line in ss.ini
* */
#include
#include
#include
#define MAX 100
int main(int argc,char *argv[])
{
char ch[MAX]={0};
char insert[]=”cgihome”;
char *p=ch;
FILE *fp1 = fopen(“ss.ini”,”r”);//直读打开ss.ini
if(fp1 == NULL)
{
printf(“er1″);
exit(1);
}
FILE *fp2 = fopen(“ss.ini.bak”,”wa+”);//截断打开ss.ini.bak
if(fp2 == NULL)
{
printf(“er2″);
exit(1);
}
/*
*从ss.ini中一行一行读数据判断是否是要插入的行的上一行
*/
while(fgets(p,MAX,fp1))
{
fputs(p,fp2);
fflush(NULL);
ch[7]=’\0′; //截断字符串,取前7个字符作为字符串
if(!strcmp(p,insert))//如果要找的字符串出现
{
fputs(“name = serverName\n”,fp2);//插入这句
}
}
fclose(fp1);
fclose(fp2);//关闭文件指针
/*这里应该有一个把ss.ini删去,把ss.ini.bak改名为ss.ini的功能*/
}
0 Responses to “linux环境编程之文件操作(标准I/O)”