我已经声明了以下变量
char min[6] = "";
char max[6] = "";
char hr[6] = "";
char div[6] = "";
char vol[6] = "";
并使用以下代码,我得到了一些带有 strtok 的令牌
if (pos)
{
ptr = strtok(buff, "Nodo_,=:V()");
i = 0;
while (ptr != NULL)
{
if (i == 0)
strcat(min, ptr);
if (i == 2)
strcat(tmax, ptr);
if (i == 4)
strcat(hr, ptr);
if (i == 6)
strcat(div, ptr);
if (i == 8)
strcat(vol, ptr);
ptr = strtok(NULL, "Nodo_,=:V()");
i++;
}
printf("Results: %s, %s, %s, %s, %s\n", min, max, hr, div, vol);
结果类似于
Results: 4, 23, 45, 67, 89
我想创建一个 if 语句,它将执行以下操作(其中 s 是本地时间)
char *table1[10] = {0};
if(*min == "4")
{
table1[5]=min;
table1[6]=max;
table1[7]=hr;
table1[8]=div;
table1[9]=vol;
fprintf(ft,"%s %d %d %d %d %s %s %s %s %s",s,table1[0],table1[1],table1[2],table1[3],table1[5],table1[6],table1[7],table1[8],table1[9]);
}
else
{
table1[0]=min;
table1[1]=max;
table1[2]=hr;
table1[3]=div;
table1[4]=vol;
fprintf(ft,"%s %s %s %s %s %d %d %d %d %d",s,table1[0],table1[1],table1[2],table1[3],table1[5],table1[6],table1[7],table1[8],table1[9]);
}
问题是我不知道如何编写 if 语句来与值 4 进行比较。我使用了不同的方法,但我总是只在 ELSE 中得到结果
if(*min == "4")
if(*min == '4')
if(&min == "4")
etc.
其次,您能否建议我一种更好的方法来编写我拥有的这个可怕的 fprintf?因为我希望我的结果是这样的:
0 0 0 0 4 23 45 67 89
或者
5 23 45 67 89 0 0 0 0