次の変数を宣言しました
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]);
}
問題は、値 4 と比較する if ステートメントの書き方がわからないことです。さまざまな方法を使用しましたが、常に 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