文字列の最大長が1000で、常にガイドラインに従いますint,int,char,int
たとえば"12,6,@,3"
それらを区切ってそれぞれの変数に格納する最も簡単な方法は何ですか?タイプ。私はisdigit
などのようなものが自分の知っているが、そのは本当に私が各int
は可能性がどのように多くの文字を知らないこれらchar
Sを解釈する必要がありますどのように多くのネストされたif
年代を考えると気力をくじきます。私はプログラミングにとても慣れていないので、無礼にしてはいけません。ただ助けを求めています。私は文字列をCで解釈するのに助けが必要
答えて
入力フォーマットは、そのように固定されている場合は、sscanf
を使用することができます。
char inp[] = "12,6,@,3";
int a, b, d;
char c;
if (sscanf(inp, "%d,%d,%c,%d", &a, &b, &c, &d) == 4) {
printf("Received: %d %d %c %d", a, b, c, d);
}
これはsscanfが他の指定子でもうまく動作しますか、非常に有益でした。例えば "intxint"のような12x32? –
@AaronJamesRasmussenは絶対には、[ここ](http://en.cppreference.com/w/cpp/io/c/fscanf)記載のscanf関数によって受け入れすべての指定子で動作します。 – dasblinkenlight
あなたが気にしなければ、私は半無関係な質問をしています。ユーザーが指定した名前のファイルを開く場合。そうするための良い方法は何ですか?だから私は持っている int boolean1 = 0; 一方(boolean1 == 0){ tempChar = GETCHAR()。 if(tempChar == EOF) break; else artName [counter] = tempChar; カウンタ++; } artNameはファイルの名前です。だからうまくいけば、そのファイルを開くにはどうすればいいですか?これまで私はFILE * fpointerを持っていました。 fpointer = fopen( "artName"、 "r");私はこの虚偽の入力をお詫びしたいと思います。 –
あなたの入力の本当に確信している場合は、あなただけ(sscanf関数を使用することができます):
#include <stdio.h>
int main(){
typedef struct Ds {
int i1;
int i2;
char c1;
int i3;
} Ds;
Ds ds;
sscanf("12,6,@,3","%d,%d,%c,%d",&ds.i1, &ds.i2, &ds.c1, &ds.i3);
printf("%d,%d,%c,%d\n",ds.i1,ds.i2,ds.c1,ds.i3);
return 0;
}
ローカルの 'typedef'、本当ですか? – alk
@alk:それは合法です。それが本当に有用かどうかは別の問題です。私はたぶんtypedefを使用しないでしょう。構造体を使用した場合、構造体の型とその型の変数を単純に定義します。 OTOH、私がそれをするとき、変数は通常構造体の配列であり、何らかのデータで初期化されます - 通常、型がどこにも必要でない何らかのテストケース用です。 –
- 1. perlを使って文字列の文字を解釈するのに助けが必要
- 2. 私は文字列フォーマッタを改良するのに助けが必要です
- 3. C#でjson文字列をデシリアライズするのに助けが必要です
- 4. これを解釈するのに助けが必要です。私はC#の初心者です
- 5. このコードを解釈する助けが必要
- 6. 私はRubyで文字列を操作する助けが必要です
- 7. ループ私は次のコードで助けが必要な文字
- 8. 私はC#でのTimeSpanに文字列「26h44m3s」を解析する必要が
- 9. 私はCLOCKS_PER_SECを理解する助けが必要です
- 10. C++の有効なC文字列操作の理解を助ける必要がある
- 11. C関数を理解する助けが必要です
- 12. は、私はC#で、このような文字列を解析する必要がある文字列
- 13. はC#のゲームコードで助けが必要
- 14. 文字列のどこが間違っているのか理解するのに助けが必要です
- 15. 私が助けを必要
- 16. 私は助けが必要です.append
- 17. 文字列の入力と印刷に関する助けが必要です
- 18. 私は、この文字列を解析する必要がPHP
- 19. このObjective-Cコードスニペットを理解する助けが必要
- 20. NSURL文字列を配列に追加する手助けが必要
- 21. PHP配列の正確な文字列に一致する助けが必要
- 22. こんにちは!私は助けが必要ですこの文字列をデコードする
- 23. 私はこのスタックトレースを解読するのに助けが必要です
- 24. 私はコードの一部を理解するのに助けが必要です -
- 25. 私はSilverlight 4のセキュリティを理解するのに助けが必要です
- 26. は、文字列へのtoCharArray()の変換を理解する助けが必要です
- 27. 私はC#演算子の助けが必要です
- 28. 私は助けが必要ですMySQLのクエリオブジェクトを文字列に変換する
- 29. 私の.csファイルにある文字列からSqlDataSourceをソートするのに助けが必要です
- 30. C#でJSON文字列を逆シリアル化するのに助けが必要です
列がカンマ区切り値を持つ場合、解析する【はstrtok(http://www.tutorialspoint.com/c_standard_library/c_function_strtok.htm)を使用します。 – OldProgrammer
入力文字列が無効かどうかを検出しますか? – chux