配置文件中注释项的读取与写入
例如:
;当前版本
[VersionName]
Version=1.0.0.1
怎么才能读取(当前版本)这个注释项 当加入新的配置项时,可以加入注释项。
希望得到大家帮忙!先谢谢了!
[解决办法]
class CConfigIni
{
...
};
类里面封装的全是文件操作,字符串操作。自己去实现下吧。
[解决办法]
#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;}
[解决办法]
学习啦,谢谢
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");
}