空の部分文字列をsscanfで解析する方法... 私の文字列str [] = "最初のもの、3番目のもの" 2番目の部分文字列がゼロの場合、3番目と最後の部分文字列を読み取ることができません。このエラーを克服する解決策はありますか?ClanguageのSSCANF関数の解析エラーを克服する方法は?
**Code:**
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
char *tokenstring = "first,second,25.5,15";
int result, i;
double fp;
char o[10], f[10], s[10], t[10];
void main()
{
result = sscanf(tokenstring,"%[^','],%[^','],%[^','],%s", o,t,s,f);`sscanf function`
fp = atof(s);
i = atoi(f);
printf("%s\n %lf\n %s\n %d\n", o,t,fp,i);
}
for this program if i execute my output is
`output`
>first
>second
>25.5
>15
が、私はtokenstringポインタで「第二」のサブストリングを削除しよう...と私は実行しようとした場合、その後、私のように出力を取得する場合:
char *tokenstring = "first,,25.5,15";
>first
>(blank)
>0.00
>0
私は読みますか"tokenstring"という文字列の第3および第4の部分文字列...任意の提案?????????? 。
を解析。 3未満に戻った場合、確実に 's'にアクセスすることはできません。 'sscanf'の戻り値をチェックしてください! – pmg