gpt4 book ai didi

c - 将指针值放入数组中

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

我有以下部分代码:

         i = 0;
while (ptr != NULL)
{
if (i == 0)
strcat(machine, ptr);
if (i == 2)
strcat(number, ptr);
if (i == 4)
strcat(hr, ptr);
if (i == 6)
strcat(dw, ptr);
if (i == 8)
strcat(vcc, ptr);
i++;
}
printf("Final: %s, %s, %s, %s, %s\n", machine, number, hr, dw, vcc);

我得到了这些结果:

Final: 3, 34, 56, 67, 56

如何将它们保存在位置 5-9 的 10 位置数组中?成为那样:

0 0 0 0 0 3 34 56 67 56

我写了下面的代码但是没有完成,因为我不知道如何在表中传递&machine, &number, &hr, &dw, &vcc

FILE *ft = fopen("Desktop/mytext.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 table1[1][10];
for(int i = 0; i<1; i++)
{
fprintf(ft,"%s ",s);
for(int j = 0; j<10; j++)
fprintf(ft,"%d ",table1[i][j]);
}

最佳答案

假设您已经将值放入“machine、number、hr、dw、vcc”(它们是 char*)

您不能将它们存储到您的 char table1[1][10] 中,因为它是一个数组表,只能包含一个 10 个字符的数组。

所以你需要一个 char ** 看起来像:

char *table1[10] = {0};

table1[5] = machine;
table1[6] = number;
table1[7] = hr;
table1[8] = dw;
table1[9] = vcc;

但是要显示它你会遇到一些问题但是你总是可以做这样的事情:

for (int i = 0; i < 10; i++)
{
if (table1[i] == NULL)
printf("0 ");
else
printf("%s ", table1[i]);
}
printf("\n");

但在您的情况下,为什么不简单地使用 int[10] 呢?

关于c - 将指针值放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213199/

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