我正在尝试拆分用户的输入并将每个定界符放在一个数组中。
由于某些原因,使用这里的代码,我收到一条错误消息:
称为对象类型'char * [10]'的不是函数或函数指针
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10
#define SIZE 256
char *read_line(char *buf,size_t sz) {
printf("> ");
fgets(buf,sz,stdin);
buf[strcspn(buf,"\n")] = 0;
return buf;
}
void split(char *buf,char *split[],size_t max) {
char *temp = strtok(buf," ");
for (int i = 0; split[0] != '\0'; i++) {
strcpy(split[i],temp);
temp = strtok(NULL,buf);
}
}
int main(int argc,char **argv) {
char *buf = malloc(SIZE);
char *split[MAX];
while(1) {
char *input = read_line(buf,SIZE);
split(input,split,MAX);
}
}
任何帮助将不胜感激。