只要该行数据的最大长度确定,在你这行数据确定后,不足橡唯部分全部用空格覆盖。
比如唤闹ver=1.0.2现在的长度是9个字符,如果我确定这行内容梁链培不会超过12个字符,那后面的内容我可以全用空格覆盖,最后只要加个回车即可。
不知道你所谓的以后改不方便指什么
#include <stdio.h>#include <string.h>
#define MAX_BUF 20
#define SERVER "localhost"
#define CONFIG_FILE "1.conf"
bool SetAuthServer(char* strServerAdd)
{
char buf[MAX_BUF], tempBuf[MAX_BUF]
memset(buf, 0, MAX_BUF)
memset(tempBuf, 0, MAX_BUF)
FILE *pF = fopen(CONFIG_FILE, "r")
if(!pF)
{
printf("打开文件失败!\芦汪n")
return false
}
fread(buf, MAX_BUF, 1, pF)
if(!feof(pF))
{
printf("读取不完整,请把MAX_BUF设置为大一点, 当前大小为: %d\n", MAX_BUF)
fclose(pF)
return false
}
fclose(pF)
char *lpPos = buf
char *lpNewPos = buf
while(lpNewPos = strstr(lpPos, SERVER))
{
strncpy(tempBuf+strlen(tempBuf), lpPos, lpNewPos-lpPos)
strcat(tempBuf, strServerAdd)
lpPos = lpNewPos + strlen(SERVER)
}
strcat(tempBuf, lpPos)
pF = fopen(CONFIG_FILE, "w")
if(!pF)
{
printf("打开文件拆誉失败!\n")
return false
}
fwrite(tempBuf, strlen(tempBuf), 1, pF)
fclose(pF)
return true
}
void main()
{
char buf[20]
printf("请输入一个字符串来修改服务旅哗段器配置: ")
scanf("%s", buf)
if(SetAuthServer(buf) == true)
printf("修改成功!\n")
else
printf("修改失败!\n")
}
用C语言读取properties配置文件的方法:1、找到配置卖漏此路径下的properties文件
2、按行读取文件内容
具体实现代码如下:
//定义读入的行数组,1024行
char line[1024]
//存放配置项数组setting
int setting[N],i = 0
//开始循环读入
while(fgets(fp,line,1024) != NULL)
{
//读入配置的值给中迅line变量
fscanf(line,"setting%*d = %d"搜陵,&setting[i++])
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)