我主要是想测试char *tk[2];
是否有值或者没有存储。
当tk[0]和tk[1]都有值(每个都存储一个字符)时,我的程序必须做一些事情,但当只有tk[0]被初始化为某个值而tk[1]为“空”时,我的程序也要做一些其他的事情。
这是我初始化指针数组的函数,使用strtok。关键字可以是“key1 key2”或“key1”,所以最多2个字。
void key(char *keywords[], char *tk[], int k) {
int p = 0;
char *delim = " \n";
int length = strlen(keywords[k]);
char buffer_key[length];
strcpy(buffer_key, keywords[k]);
char *token_key = strtok(buffer_key, delim);
while (token_key != NULL) {
tk[p++] = token_key;
token_key = strtok(NULL, delim);
}
}
这是我的主函数的代码块,我调用了key函数。
char *tk[2];
key(keywords, tk, k);
接下来我想检查是否只有tk[0]存储了一个字符(那么tk[1]是空的?).我该怎么检查呢?
1条答案
按热度按时间kq0g1dla1#
在调用函数之前,先初始化
tk
,然后测试返回后是否填充了值。