[ad_1]
以下のパターンならファイルを読み込みたい。
ここは file1.text
Abc,192.168.99.4 Eyo,192.168.8.16,3370 Opa,4447 Ctc,192.168.66.2,5507
これは、シングルで機能している私のコードです。 Var3 は値を表示していません。 また 2 ~ 3 つの値の正規表現間の演算。
if(EOF == fscanf(mf," %[^,],%s,%s | %[^,], %[^,] %[^,],%s,%s,%s", var1,var2,var3)){ printf("var2=%s\n",var2); printf(" var1=%s\n",var1); printf(" var3=%s\n",var3); }
コードは出力を生成しています
Var2=Abc Var1=192.168.99.4 Var3= Var2=Eyo Var1=192.168.8.16,3370 Var3= Var2=Opa Var1=4447 Var3= Var2=Ctc Var1=192.168.66.2,5507 Var3=
私が試したこと:
3 つの値に区切られた 2 つのカンマに分割する方法は?
解決策 1
fscanf[^] は正規表現をサポートしていません – はるかに制限された形式の文字クラスをサポートしています。
これらの文字クラスには、OR 演算子は含まれません。
これらの文字クラスには、OR 演算子は含まれません。
C は正規表現よりも数十年古いことを思い出してください。行を自分で処理する必要があります。後で正規表現ライブラリを明示的に追加し、ファイルから読み取った行をそのように処理しない限り、必要に応じて自動化する方法はありません。 Google はあなたの環境に合うものを見つけるのを手伝ってくれますが、私はそれを使おうとしたことがないので、具体的なことはお勧めできません。
[ad_2]
コメント