重複の可能性:
特定の文字列の後に値を出力する方法
したがって、最初の割り当てでは、文字列「myprop =」の後に単一の文字を出力する必要がありましたが、コメントを出力せずに = 記号の後にいくつかの文字列を出力する必要があるとは言われませんでした。
例は次のようになります: myprop=これは文の //値です。基本的に、sscanf および printf 関数を変更する必要があります。
const char *get_filename_property()
{
const char *filename = "myfile.properties";
const char *propkey = "myprop=";
char buffer[1024], *buffPtr, lastChar, value[50];
int line_num=1;
FILE *fp;
fp=fopen("myfile.properties", "r");
if (fp == NULL)
{
perror("Error opening file\n\n");
return -1;
}
while(fgets(buffer, 1024, fp) != NULL)
{
if((strstr(buffer, propkey)) != NULL)
{
printf("\nmyprop= found on line %d\n", line_num);
sscanf(buffer,"%*[^=]=%s",value);
printf("\nvalue is %s\n", value);
}
line_num++;
}
if(fp)
{
fclose(fp); //close the file if it is still open
}
return 0;
}
int main(int argc, char *argv[])
{
get_filename_property();
system("pause");
return(0);
}