如果我有5个像这样的char数组
char a[6] = "";
char b[6] = "";
char c[6] = "";
char d[6] = "";
char e[6] = "";
我也有这部分代码用strtok获取一些令牌并将它们放入a,b,c,d,e
while(fgets(buff, sizeof(buff), fp) != NULL)
{
fputs(buff,stdout);
FILE *ft = fopen("/home/pi/Desktop/data.txt","a+");
struct tm *tp;
time_t t;
char s[80];
t = time(NULL);
tp = localtime(&t);
strftime(s, 80, "%d/%m/%Y %H:%M:%S", tp);
char *pos = strchr(buff,'N');
if (pos)
{
ptr = strtok(buff, "Nodo_,=:V()");
i = 0;
while (ptr != NULL)
{
if (i == 0)
strcat(a, ptr);
if (i == 2)
strcat(b, ptr);
if (i == 4)
strcat(c, ptr);
if (i == 6)
strcat(d, ptr);
if (i == 8)
strcat(e, ptr);
ptr = strtok(NULL, "Nodo_,=:V()");
i++;
}
printf("Results: %s, %s, %s, %s, %s\n", a, b, c, d, e);
我的问题是如何创建一个包含这5个值的新数组(例如TABLE),如
a
b
c
d
e
其次有任何方法可以将此数组转换为
a b c d e
答案 0 :(得分:1)
目前尚不清楚你想要什么,但这里有一个镜头:
char (*TABLE_5x1[5][1])[6] = {
{ &a },
{ &b },
{ &c },
{ &d },
{ &e }
};
char (*TABLE_1x5[1][5])[6] = {
{ &a, &b, &c, &d, &e }
};
答案 1 :(得分:0)
定义char* TABLE[5]
。然后你可以把a,b,c ......放到这个数组中作为它的元素。