#include "paramread.h"
#include "common.h"
/* 讀取字元型別的值
*/int getinikeystring(char *dst, const char *title, const char *key, const char *filename)
else
else
fclose(fp);
strcpy(dst, wtmp + 1);
return 0;}}
else}}
}fclose(fp);
return -1;}/*
讀取陣列型別的值
*/int getinikeyfloatarray(const char *title, const char *key, float *array, int arraysize, const char *filename)
else
else
else
p = strtok(sline, ",");}}
fclose(fp);
return 0;
}else}}
}fclose(fp);
return -1;}/*
讀取整數型別的值
*/long long getinikeyint(const char *title, const char *key, const char *filename)
/* 讀取浮點型的值
*/double getinikeyfloat(const char *title, const char *key, const char *filename)
配置檔案如下:
[site]
siteid=1
sitename=boer
#單位 秒 [1,5)
transmissioninterval=2
[gps]
#使用本檔案引數 0,必須使用本檔案的 ; 1,必須使用原始資料的 ; 2,靈活切換,預設使用原始資料中的,如果原始資料的資訊不可用,就用本檔案的
usefile=2
#裝置所在經度(至少精確到小數後六位)
longitude=112.994963
#裝置所在緯度(至少精確到小數後六位)
latitude=28.233651
#經緯度平滑值 0=固定經緯度,(0,1)=平滑值,1=不平滑
#smoothvalue=1
#0,使用本檔案的角度 ; 1,使用原始資料的角度。(未修正磁偏角)
usesystemazimuth=1
#系統方位角
systemazimuth=0
#使用時區 0,使用本檔案的時區; 1,使用本地獲取的時區
usetimezone=1
#使用的本檔案時區(當usetimezone=0時生效)
timezone=8
#0,不使用磁偏角;1,使用本檔案磁偏角;2,根據經緯度(精確到度)自動計算磁偏角
usemade=2
#使用的本檔案磁偏角(當usemade=1時生效)(偏西為負,偏東為正(-180,180))
magneticdeclination=-3.75300
[device]
#0表示平行形態,1表示五角星形態
antennashape=1
[angle]
#幅度估計距離的係數,越大則距離越大
miu=6.5
#天線間距
d2450=0.06
#初始相位,2450m
initphase2450=-0.9,-0.9,-0.9,-0.9,-0.9
#天線間距
d5800=0.025
#初始相位,5800m
initphase5800=-0.9,-0.9,-0.9,-0.9,-0.9
修改配置檔案內容**如下:
int update_gps(const char *filename,const char*key,const char*data)
file *fp2 = fopen("temp.ini","w+");
if(fp2<0)
char *file_buf = (char*)malloc(4096);
char check_buf[1024]=;
while(fgets(check_buf,1024,fp) != null)
fprintf(fp2,"%s",check_buf);
} fclose(fp);
fclose(fp2);
//memset(check_buf,0,1024);
//sprintf(check_buf,"rm -r %s", filename);
//system(check_buf);
memset(check_buf,0,1024);
sprintf(check_buf,"mv temp.ini %s", filename);
system(check_buf);
return 0;
}
用法如下:
int main()
結果如下:
longitude = 112.994963
longitude = 100.001111
C語言讀取配置檔案
配置檔案 a.txt 1 2 3 ip sadf ip 192.168.246.22 dns 218.85.157.99 讀取規則 1 以 開頭的為注釋,不讀取 2 空行也不讀取 3 兩邊可以有空格 這裡先講下要用到的知識點 1 斷言的使用 assert 巨集用法 注意 assert是巨集,而不是函...
C語言讀取及修改簡單配置檔案內容
執行環境 ubuntu14.04 此方式適合小的配置檔案,不適合大型檔案。假如有檔案內容為 ip 192.168.1.20 mask 255.255.255.0 dns 192.168.1.1 include include include include include define str ne...
C 讀取配置檔案
1 首先引入標頭檔案 include 2 獲取應用程式的當前路徑 char buf 1000 getcurrentdirectory 1000,buf 得到當前工作路徑3 獲取配置檔案的路徑 char path 1024 definesysconfig config.ini sprintf path...