① 标准C语言,修改配置文件
在1.1后面带空格
只要该行数据的最大长度确定,在你这行数据确定后,内不足部分全部用空格覆盖。容
比如ver=1.0.2现在的长度是9个字符,如果我确定这行内容不会超过12个字符,那后面的内容我可以全用空格覆盖,最后只要加个回车即可。
不知道你所谓的以后改不方便指什么
② linux下用c读取配置文件问题
我想问下你的形参char *buf,是做什么的?,保存读取下来的字符串用的?回
但是你下面要求答转换进制,也就是说这些数据是数字性质,那应该是用int来保存阿 ?
另外你要保存的数据是len行吧,那就应该是int **才对咯
详细说明一下我的疑惑哈,现在已经帮你把数据都能够读出来了,就看你要怎么处理这些数据了
还有就是最后的转换,是要10进制保存下来,还是只需要以10进制输出到屏幕或者文件中即可
以字符串输出还是int输出,都要说明白
③ c语言怎么加载自己写的配置文件
我是这么做的,比如 ini 里以 #注释,以=表示赋值
#
# Note
#
aaa=bbb
我从ini里一行一行读出来,如果第一个字母是#,就忽略
否则就从 line_of_file 里查找 “=”字符,(去掉行末'\n'换行符)
=之前的就是参数名,=之后的就是参数值(去掉空格,tab)(用strncpy)
④ 怎么使用C语言读取properties配置文件
用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++]);
}
⑤ c语言读写配置文件
#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中读取配置文件一般是怎么写的
我是这么做的,比如 ini 里以 #注释,以=表示赋值
#
# Note
#
aaa=bbb
我从ini里一行一行读出来,如果第一回个字母是答#,就忽略
否则就从 line_of_file 里查找 “=”字符,(去掉行末'\n'换行符)
=之前的就是参数名,=之后的就是参数值(去掉空格,tab)(用strncpy)
⑦ C语言读写大量配置文件有什么好的建议
读写配置文件在linux下的格式和windows下不太相同,附件是一些学习资料,后续会慢慢更新回
linux系统下的配置文件
XDG_DESKTOP_DIR="$HOME/桌面答"
XDG_DOWNLOAD_DIR="$HOME/下载"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_PUBLICSHARE_DIR="$HOME/公共的"
XDG_DOCUMENTS_DIR="$HOME/文档"
XDG_MUSIC_DIR="$HOME/音乐"
XDG_PICTURES_DIR="$HOME/图片"
XDG_VIDEOS_DIR="$HOME/视频"molea]
windows系统下的配置文件
[molea]
name1=value1
name2=value2
[moleb]
name3=value3
name4=value4
一般嵌入式上用的都是linux这种风格
⑧ c配置文件读写
#include <stdio.h>
#include <string.h>
#define MAX_BUF 2048
#define SERVER "authserver "
#define CONFIG_FILE "1.conf"
bool SetAuthServer(char* strServerAdd)
{
char buf[MAX_BUF], writeBuf[MAX_BUF];
memset(buf, 0, MAX_BUF);
memset(writeBuf, 0, MAX_BUF);
FILE *pF = fopen(CONFIG_FILE, "r");
if(!pF)
{
printf("打开文件失败!\n");
return false;
}
//fread(buf, MAX_BUF, 1, pF);
char *lpPos = NULL;
while(fgets(buf, MAX_BUF, pF)) //读取一行
{
if(lpPos = strstr(buf, SERVER))
{
strncpy(writeBuf+strlen(writeBuf), buf, lpPos+strlen(SERVER)-buf);
strcat(writeBuf, strServerAdd);
strcat(writeBuf, "\r\n");
}
else strcat(writeBuf, buf);
if(feof(pF)) break;
}
fclose(pF);
pF = fopen(CONFIG_FILE, "w");
if(!pF)
{
printf("打开文件失败!\n");
return false;
}
fwrite(writeBuf, strlen(writeBuf), 1, pF);
fclose(pF);
return true;
}
⑨ 编写C程序时,要求:配置文件的名字由命令行参数提供,怎么理解求高人指教!
就是你的程序的配抄置文件(程序的基本设置啊,一些信息等)通过命令行给出!
一般主函数可以这样写
int main(int argc, char ** argv)
argc指的是命令行参数的个数,而argv包含了所有的参数,含括程序的名字(含有路径),那么你可以根据argv得到,配置文件的名字!
例如
soft.exe 1.txt
那么主函数得到的argc为2,argv包含软件的路径名字还有1.txt这个参数!
⑩ 怎样用配置文件给自己写的类传参
(配置文件名最好不要和類名起得一樣)$this->config->load('my_config',true);$params = $this->config->item('my_config'); // 這個地方最好把$params打印出來看看$this->load->library('my_class',$params);試一下吧