如下:假如一个TXT文件里面内容如下:
[Design]
Version=1.0
HierarchyMode=0
ChannelRoomNamingStyle=0
AllowSheetEntryNetNames=1
AppendSheetNumberToLocalNets=0
DefaultConfiguration=
UserID=0xFFFFFFFF
DefaultPcbProtel=1
DefaultPcbPcad=0
ReorderDocumentsOnCompile=1
VHDL87=0
Verilog95=0[Document1]
DocumentPath=FPGA_165B_DigitizedSound.sdkg
AppendSheetNumberToLocalNets=0
DefaultConfiguration=
UserID=0xFFFFFFFF
DefaultPcbProtel=1
我想把: 
[Document1]
DocumentPath=FPGA_165B_DigitizedSound.sdkg中的:"FPGA_165B_DigitizedSound.sdkg"替换为:
"MyFile.ncb"
该如何做啊?
麻烦那位兄弟指教,请尽量详细,thanks!

解决方案 »

  1.   

    WritePrivateProfileString("Document1","DocumentPath","MyFile.ncb","yourini.ini");
      

  2.   

    char szTxt[128]; GetPrivateProfileString("Document1","DocumentPath","",szTxt,4095,"c:\\1.txt"); MessageBox(szTxt,"原值",MB_OK);strcpy(szTxt,"MyFile.ncb");WritePrivateProfileString("Document1","DocumentPath","",szTxt,4095,"c:\\1.txt"); MessageBox(szTxt,"目标值",MB_OK);
      

  3.   

    char szTxt[128]; GetPrivateProfileString("Document1","DocumentPath","",szTxt,128,"c:\\1.txt"); MessageBox(szTxt,"原值",MB_OK);strcpy(szTxt,"MyFile.ncb");WritePrivateProfileString("Document1","DocumentPath",szTxt,"c:\\1.txt"); MessageBox(szTxt,"目标值",MB_OK);
      

  4.   

    WritePrivateProfileString("Document1", "DocumentPath",  "MyFile.ncb","c:\\youtxt.txt");c:\\youtxt.txt是文件的完全路径
      

  5.   

    各位大虾,上面这样可能不行吧?也许我没仔细写清楚我的TXT里面的内容:可能还有:
    [Document1]
    DocumentPath=FPGA_165B_DigitizedSound.sdkg
    AppendSheetNumberToLocalNets=0
    DefaultConfiguration=
    UserID=0xFFFFFFFF
    DefaultPcbProtel=1
    [Document2]
    DocumentPath=adsgagdound.sdkg
    AppendSheetNumberToLocalNets=0
    DefaultConfiguration=
    UserID=0xFFFFFFFF
    DefaultPcbProtel=1
    [Document3]
    DocumentPath=FadsgadfhitizedSound.sdkg
    AppendSheetNumberToLocalNets=0
    DefaultConfiguration=
    UserID=0xFFFFFFFF
    DefaultPcbProtel=1
    .....
    我想把: 
    [Document1]
    DocumentPath=FPGA_165B_DigitizedSound.sdkg中的:"FPGA_165B_DigitizedSound.sdkg"替换为:
    "MyFile1.ncb"[Document2]
    DocumentPath=FPGA_165B_DigitizedSound.sdkg中的:"adsgagdound.sdkg"替换为:
    "MyFile2.ncb"[Document3]
    DocumentPath=FadsgadfhitizedSound.sdkg中的:"adsgagdound.sdkg"替换为:
    "MyFile3.ncb"如此替换很多个,改如何办呢??
      

  6.   

    而且我只是想替换原来TXT里面的这些字符.文件替换后还保存为原来文件名啊
      

  7.   

    WritePrivateProfileString(),要替换多少个你就写多少个。
    我们也不知道你的文件名,那个"c:\\youtxt.txt"只是为了演示,你自己用的时候填你的文件全路径啊...
      

  8.   

    我还是没把问题说清楚,我这里的
    [Document1],[Document2],[Document3]是不定的,也就是说,我要先在TXT里面的所有字符中
    的每个
    [Document*]下的一行中:DocumentPath=后面的字符进行替换,但文件名的扩展名不替换.比如我有三个字符:如: AAA.CRX, BBB.MLT, CCC.XYN(原字符),分别用 : 111,222,333替换过来.
    替换后变成111.CRX,222.MLT,333.XYN;
    找到如下情况的:
    [Document*]
    DocumentPath=AAA.CRX 我就替换;替换后变为:
    [Document*]
    DocumentPath=111.CRX (注意:其中的*是不定的,我自己也不知道它是什么数字)
    并且一个文件里面可能有多个这样的出现:
    即可能有:
    [Document1]
    DocumentPath=AAA.CRX 
    也有
    [Document11]
    DocumentPath=AAA.CRX 
    这两种情况我都要替换;
    而:[Document*]
    DocumentPath=DDD.CPX,因为DDD.CPX不在我的替换字符范围内,我则不进行替换,
    其中的*是我自己也不知道的数字,该如何办??
    大家再帮帮我如何?
      

  9.   

    将文本以/r为边界分批读到内存(CString),再Replace,然后保存到一个临时文件里,如此反复直到文件读完,最后就是删除这份文件,再将临时文件名字改为与这份文件一样的名字
      

  10.   

    WritePrivateProfileString 就可以的