Linux--如何读取ini文件_第1页
Linux--如何读取ini文件_第2页
Linux--如何读取ini文件_第3页
Linux--如何读取ini文件_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. #defineCONF_FILE_PATHConfig.ini2. 3. #include4. 5. #ifdefWIN326. #include7. #include8. #else9. 10. #defineMAX_PATH26011. 12. #include13. #include14. #include15. #include16. #include17. #endif18. 19. charg_szConfigPathMAX_PATH;20. 21. /获取当前程序目录22. intGetCurrentPath(charbuf,char*pFileName)23. 24. #ifdefWIN3225. GetModuleFileName(NULL,buf,MAX_PATH);26. #else27. charpidfile64;28. intbytes;29. intfd;30. 31. sprintf(pidfile,/proc/%d/cmdline,getpid();32. 33. fd=open(pidfile,O_RDONLY,0);34. bytes=read(fd,buf,256);35. close(fd);36. bufMAX_PATH=0;37. 38. #endif39. char*p=&bufstrlen(buf);40. do41. 42. *p=0;43. p-;44. #ifdefWIN3245. while(!=*p);46. #else47. while(/!=*p);48. #endif49. 50. p+;51. 52. /配置文件目录53. memcpy(p,pFileName,strlen(pFileName);54. return0;55. 56. 57. /从INI文件读取字符串类型数据58. char*GetIniKeyString(char*title,char*key,char*filename)59. 60. FILE*fp;61. charszLine1024;62. staticchartmpstr1024;63. intrtnval;64. inti=0;65. intflag=0;66. char*tmp;67. 68. if(fp=fopen(filename,r)=NULL)69. 70. printf(havenosuchfilen);71. return;72. 73. while(!feof(fp)74. 75. rtnval=fgetc(fp);76. if(rtnval=EOF)77. 78. break;79. 80. else81. 82. szLinei+=rtnval;83. 84. if(rtnval=n)85. 86. #ifndefWIN3287. i-;88. #endif89. szLine-i=0;90. i=0;91. tmp=strchr(szLine,=);92. 93. if(tmp!=NULL)&(flag=1)94. 95. if(strstr(szLine,key)!=NULL)96. 97. /注释行98. if(#=szLine0)99. 100. 101. elseif(/=szLine0&/=szLine1)102. 103. 104. 105. else106. 107. /找打key对应变量108. strcpy(tmpstr,tmp+1);109. fclose(fp);110. returntmpstr;111. 112. 113. 114. else115. 116. strcpy(tmpstr,);117. strcat(tmpstr,title);118. strcat(tmpstr,);119. if(strncmp(tmpstr,szLine,strlen(tmpstr)=0)120. 121. /找到title122. flag=1;123. 124. 125. 126. 127. fclose(fp);128. return;129. 130. 131. /从INI文件读取整类型数据132. intGetIniKeyInt(char*title,char*key,char*filename)133. 134. returnatoi(GetIniKeyString(title,key,filename);135. 136. 137. intmain(intargc,char*argv)138. 139. charbufMAX_PATH;140. memset(buf,0,sizeof(buf);141. GetCurrentPath(buf,CONF_FILE_PATH);142. strcpy(g_szConfigPath,buf);143. 144. intiCatAge;145. charszCatName32;146. 147. iCatAge=GetIniKeyInt(CAT,age,g_szConfigPath);148. strc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论