void main()
{
 //writeprivateprostring()
char name[20] ;
char num[20];
char buffer[50];
    int i;
char code[20]; for(i=1;i<5;i++)
{

sprintf( num, "service%d\n", i );
sprintf( name, "aa%d\n", i );
sprintf( code, "00%d\n", i );
WritePrivateProfileString(name,num,code,"F:\\mywork\\test\\1\\1.ini");
    GetPrivateProfileString(name,num,"not found\n",buffer,50,"F:\\mywork\\test\\1\\1.ini"); printf ("%s",buffer);
     
//  num++;
 }  
  
// return 1;
}
为什么我打印出来的是4个not found,而不是name,num

解决方案 »

  1.   


    仔细看看你的1.ini文件有没有数据
    试试sprintf( num, "\tservice%d\n", i );
      

  2.   

    不行啊 还是得不到,ini里有数据.
      

  3.   

    sprintf( name, "aa%d", i );
    sprintf( num, "service%d", i );
    sprintf( code, "00%d", i );
    BOOL su=WritePrivateProfileString(name,num,code,"E:\\study\\test\\Debug\\1.ini");

    if(su)
    GetPrivateProfileString(name,num,"not found\n",buffer,50,"E:\\study\\test\\Debug\\1.ini");

    printf ("%s\n",buffer);把换行去掉就行了,换行后它就认为是另一个新数据组的开始,所以就找不到了。
      

  4.   

    sprintf( num, "service%d", i );
    sprintf( name, "aa%d", i );
    sprintf( code, "00%d", i );
    把\n都去掉