C:接收txt文件中的密钥、实体和响应
我有一个包含节标题、键和值的文本文件。看起来像这样C:接收txt文件中的密钥、实体和响应,c,arrays,csv,key-value,C,Arrays,Csv,Key Value,我有一个包含节标题、键和值的文本文件。看起来像这样 [what] apple = apple is a fruits. tv = television [who] steve = chemistry teacher 下面是我的代码 #define A1 1 #define A2 2 #define B1 3 /* to be implemented */ char intent[255]; char key1[255]; char key[255]; char inv[3][10] = {
[what]
apple = apple is a fruits.
tv = television
[who]
steve = chemistry teacher
下面是我的代码
#define A1 1
#define A2 2
#define B1 3
/* to be implemented */
char intent[255];
char key1[255];
char key[255];
char inv[3][10] = { "what","where","who" };
char file[255];
FILE* fileGet;
typedef struct { char* key; int val; } fileGetStruct;
static fileGetStruct fileGettable[] = {
{ "apple", A1 }, { "tv", A2 }, { "steve", B1 } };
snprintf(intent, 255, "[%s]", inv[0]);
//printf("%s\n", intent);
//scanf("%s", key1);
if ((fileGet = fopen("txt.ini", "r")) == NULL) {
printf("File not found");
exit(1);
}
scanf("%s", key1);
while (fgets(file, 255, fileGet) != NULL) {
if (intent == "[") {
switch (inv[0][10]) {
case A1:
printf("apple is a fruits");
break;
}
}
}
fclose(fileGet);
}
我尽量不使用c语言硬编码。你知道如何解决这个问题吗?用什么方法解决?解析它?这看起来像一个典型的。这些都比较容易解析,但也有很多库可以帮助您进行解析。我尝试了很多方法,比如strcmp、switch case和其他方法,但都是硬编码的,这是非常有用的wrong@kelly发布您的解决方案以便我们查看。您无法比较字符串,如
intent==“[”
。和inv[0][10]
超出了inv[0]
的范围。inv[0][i]
对于任何有效的索引,i
是一个不等于整数1
、2
或3
的单个字符。总之,您可能需要后退几步,并获得一些关于C的入门书籍或参加一些初级课程。