gpt4 book ai didi

c - 将标记添加到数组 C

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:58 25 4
gpt4 key购买 nike

因此,我尝试将标记添加到数组中,if 语句不断验证数组 tokenHolder 是否为空。我的第二个 while 循环是我尝试将标记输入数组的地方。但是没有 token 输入到数组中,我不明白为什么。

char* token;
int* bufflength = 0;
char* buffer = NULL;
char input[25000];
char *tokenHolder[2500];
int pos = 0;

while(1){

printf("repl> ");
getline(&buffer, &bufflength, stdin);
token = strtok(buffer, "");

//code to input tokens into array
while(token != NULL){
pos++;
token = strtok(NULL, "");
tokenHolder[pos] = token;
}

if(tokenHolder[0] == NULL){
printf("It's NULL");
}
}

最佳答案

在保存任何 token 之前,您将 pos 递增到 1,因此不会将任何内容分配给 tokenHolder[0]

要么使用(注意使用空白而不是空字符串作为分隔符):

tokenHolder[0] = token = strtok(buffer, " ");

(或等效的)或做类似的事情:

char *data = buffer;
while ((tokenHolder[pos++] = strtok(data, " ")) != NULL)
data = NULL;

关于c - 将标记添加到数组 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059285/

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