|
ファイルから以下のデータを1レコードずつ読み込み、からsscanfを使って、
該当位置にある値を取り出そうとしているのですが、該当位置がNULL(要は
「,,」となっているところ)だと、それ以降が取り出せません。
sscanfは、NULLがあるとそれ移行は、取り出すことができないのしょうか。
また、数字の部分は、小数点となっており、文字列としてではなく、数値と
して取り出したいのですがどうすればよいのすか。
名と姓とサーバと数値7の内容をsscanfで取り出しています。
取り出す位置に値があると、ちゃんと取り出せますが、
姓が入っていない場合(NULL)の時は、それ以降が取りだせません。
また、数値7を文字としてではなく数値とし取り出したいのですが、
変数を「double」として、sscanfでの呼び出し方法を「%f」とした
のですが、上手く行きません。
sscanf(buff,"%*[^,],%[^,],%[^,],%[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%*[^,],%[^\n]",mei_name,sei_name,svr,size) ;
No,名,姓,サーバ,コード,数値1,数値2,数値3,数値4,数値5,数値6,数値7
1,EIGYO-1,,SVR-01,A0001,18.436,0.002,0.153,404.819,0.013,0.001,423.424
2,Ieyasu,Tokugawa,SVR-01,B0001,7.764,0.002,2.094,319.184,0.001,0.001,329.046
3,EIGYO-2,,SVR-01,B0001,0.044,0.002,0.003,320.65,0.004,0.001,320.704
4,Hideyoshi,Toyotomi,SVR-01,A0001,0.099,0.366,0.001,242.702,0.002,8.588,251.758
5,Kanbei,Kuroda,SVR-01,C0001,86.904,0.002,106.364,7.985,0.001,0.028,201.284
6,Nagamasa,Azai,SVR-01,A0001,18.698,0.001,0.458,122.738,0.005,0.001,141.901
7,Yoshikage,Asakura,SVR-01,C0002,86.811,0.001,51.048,0.029,0.016,0.025,137.93
8,Narimasa,Sasa,SVR-01,B0001,80.57,0.001,37.501,6.059,0.004,0.01,124.145
9,KIKAKU-1,,SVR-01,A0002,2.043,0.002,3.979,112.714,0.002,0.257,118.997
10,Tadateru,Kyogoku,SVR-01,C0003,103.162,1.65,7.771,6.22,0.004,0.096,118.903
|