首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

配置文件中诠释项的读取与写入

2012-09-03 
配置文件中注释项的读取与写入例如:;当前版本[VersionName]Version1.0.0.1怎么才能读取(当前版本)这个注

配置文件中注释项的读取与写入
例如:
;当前版本
[VersionName]
Version=1.0.0.1
怎么才能读取(当前版本)这个注释项 当加入新的配置项时,可以加入注释项。
希望得到大家帮忙!先谢谢了!

[解决办法]
class CConfigIni
{
...
};

类里面封装的全是文件操作,字符串操作。自己去实现下吧。
[解决办法]

C/C++ code
#include <string.h>#include <stdio.h>#include <stdlib.h>int main(int argc, char* argv[]){    FILE* ini;    char* name;    char* value;    char line[81];    ini = fopen("19.txt", "r");    if(ini == NULL)    {        return -1;    }    while(!feof(ini))    {        fgets(line, 80, ini);        name = strtok(line, "=");        value = strtok(NULL, "=");        if(name && value)        {            value[strlen(value) - 1] = '\0';            printf("[name=%s, value=%s]\n", name, value);        }        }        return 0;}
[解决办法]
学习啦,谢谢
探讨

C/C++ code

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
FILE* ini;
char* name;
char* value;
char line[81];

ini = fopen("19.txt……

[解决办法]
谢谢回答!但是好像没有对注释项的操作啊!
[解决办法]
注释和空行等实际上都被跳过了啊。

探讨

谢谢回答!但是好像没有对注释项的操作啊!

[解决办法]
读取注释项也很简单的,过程是这样的:
1、跳过空白符号;
2、遇到;号进入注释模式;
3、在注释模式下,逐个读取字符;
4、当读取到换行符的时候,退出注释模式。

探讨

所以我注明:注释项的读取与写入 不过也谢谢你了

[解决办法]
C/C++ code
char ln[100];FILE *f;f=fopen("xxx.ini","r");while (1) { if (NULL==fgets(ln,100,f)) break; if (ln[0]==';') {  printf("Comment Line:%s",ln); } else {  printf("Line:%s",ln); }}fclose(f);
[解决办法]
所谓修改删除文件a某位置的内容,其实是读打开文件a,再将‘a中修改删除位置之前的内容+修改删除的内容+a中修改删除位置之后的内容’保存到文件b,关闭文件a,删除文件a,将文件b改名为与之前文件a相同的名字,仅此而已。

[解决办法]
12楼正解 其余都是字符串解析的事情 和ini不ini都没关系
[解决办法]
void read()
{
CStdioFile myFile; 
CFileException fileException;
if(myFile.Open("figure.ini",CFile::modeCreate|CFile::modeNoTruncate|CFile::typeText|CFile::modeReadWrite),&fileException) 

CString strContent; 
int order=1; 
while(myFile.ReadString(strContent)) 


if(strContent.Find(";") >=0)//找到注释行
{
if(order==5)
{
MessageBox(NULL,strContent,strContent,NULL);

order=order+1; 
}
write(strContent);

}
else
{
TRACE("Can't open file");
}
myFile.Close();
  }
[解决办法]
这里可以对ini文件进行编辑
if(myFile.Open(sFilePath,CFile::typeText|CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite),&fileException) 
{
myFile.SeekToEnd();// 将文件指针移动到文件末尾准备进行追加文本的操作


myFile.WriteString(strOrder);// 此处可以编写追加文本的操作
myFile.WriteString("\n");
}

热点排行