gpt4 book ai didi

C - 如何解析具有特定格式的文件(或字符串)

转载 作者:行者123 更新时间:2023-11-30 19:31:16 26 4
gpt4 key购买 nike

我有一个以下格式的文件:

PROPERTY1=VALUEX
PROPERTY2=VALUEY
...

我想写一个这样的函数:

int find_property(char* file_contents, char* property_name, char* value)

这会将文件的内容作为 char* ,然后找到属性并将其值分配给 char* 值。显然,如果找到该属性,则返回 0,如果没有,则返回 1。

我希望能够做这样的事情:

char file_contents[500];
char* property = "PROPERTY1";
char value[500];

load_file_contents("file.txt", file_contents);
if(find_property(file_contents, property, value) == 1){
// Do something with 'value'
}

我该如何去做呢?

最佳答案

我用“$”字符终止了文件,这有效:

    char c = file_contents[0];
char property_name[100] = {};
char value[100] = {};
int in_property = 1;
int in_value = 0;
int i = 0;
int t = 0;
while(c != '$'){
if(c == '='){
in_property = 0;
in_value = 1;
property_name[i] = '\0';
i = 0;
// continue;
} else if(c == '\n'){
in_property = 1;
in_value = 0;
value[i] = '\0';
if(strcmp(property_name, property) == 0){
sprintf(result, value);
return;
}
i = 0;
} else if(in_property == 1){
property_name[i] = c;
i++;
} else if(in_value == 1){
value[i] = c;
i++;
}
t++;
c = file_contents[t];
}

关于C - 如何解析具有特定格式的文件(或字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49137373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com