程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用C語言讀取properties文件V1.0

使用C語言讀取properties文件V1.0

編輯:關於C語言

本程序使用C語言讀取類似以下格式的properties文件。 path = /etc/wgetrc launch_on_start = true   下一版目標: (1)使用指針代替二維數據或者二維數據的容量減少至最低要求。 (2)忽略所有空格,忽略空行及注釋行 (3)頭文件規范寫法。     文件1:main.c [cpp]   #include <stdio.h>   #include "read_properties.h"      int main(void){              char names[100][100], values[100][100];          read_properties("/home/lujinhong/scripts/projects/read_properties_file/test.properties", names, values);          return 0;   }     文件2:read_properties.h [cpp]  void read_properties(char *pathname, char names[100][100], char values[100][100]);     文件3:read_properties.c [cpp]  /********************************************************************   * This file is used to read the names and values from a properties file,   * and store them in an array.   *   * ******************************************************************/      #include "read_properties.h"   #include <stdio.h>   #include <unistd.h>   #include "utils.h"      void read_properties(char *pathname, char names[100][100], char values[100][100]){          FILE *file;       char line[100];       int i = 0;          file = fopen(pathname, "r");       while(fgets(line, 100, file)){           printf("%s", line);                             //just for test, delete it later.           parseline(line, names[i], values[i]);           i++;       }             fclose(file);      }     文件4:utils.h [cpp]   void parseline(char *line, char *name, char *value);     文件5:utils.c [cpp]  www.2cto.com /***********************************************************   * Parse content of the line, and store the name and value.    * line example: path=/etc/wgetrc   *   * *********************************************************/   void parseline(char *line, char *name, char *value){               int length = 0, equal = 1; //equal will record the location of the '='       char *begin;          length = strlen(line);          for(begin = line; *begin != '=' && equal <= length; begin ++){               equal++;       }          strncpy(name, line, equal - 1);        line+=equal;       strncpy(value, line, length - equal);          printf("name = %s   value = %s\n", name, value); //just for test, delete it later.      }     運行結果: [plain]   path = /etc/wgetrc   name = path     value =  /etc/wgetrc      launch_on_boot = true   name = launch_on_boot   value =  true    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved