【发布时间】:2013-06-19 07:19:07
【问题描述】:
如果我有 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
【问题讨论】:
-
我不明白你的问题。
-
也许您在谈论 char 指针数组??
-
我更新了我的问题
-
我也不懂这个问题?是关于内存布局的吗?或者关于这些值是如何打印到屏幕上的?
-
好的,我想将这些值 a,b,c,d,e 垂直保存在一个数组中。另一个问题是我的教育如何将数组转换为 5x1 到 1x5。