fgetsとstrtokを使用して複数の入力を取得するにはどうすればよいですか?

ProgrammingNoob

入力を使用fgets()およびstrtok()受信し、それに応じてそれらを分割するのに問題があります。

入力1〜9を受け取るメインメニューがあり、すべての入力が別の機能につながると仮定します。これは、すべての関数でifステートメントとbreakステートメントを使用して行いました。ここで、文字列、スペース、2 intの順に取る別のコマンドがあるとしましょう。メニューにどのように記述しますか?

つまり、メニューではい​​つでも、個々のint(1〜9)だけを読み取ることができ、letsay"start 5,9,forward"または"start ,4,2,backwards"そのメニューでも読み取ることができます。「start」が入力されているかどうかを示すロジックを記述しますか、続行しますが、開始後にスペース入力を読み取り、2つのintと最後のintを読み取るようにする方法がわかりません。ストリング。

私の質問が少し紛らわしい場合は申し訳ありませんが、1行に複数の入力を受け取り、それらの入力変数を操作できる場合の例を知りたいだけです。

ddz

fgetsおよびを使用するstrtok

@CoolGuyが言ったこととほぼ同じです。

...
fgets(buff, sizeof buff, stdin);
char a[25], d[25];
int b, c;
char *p = strtok(buff, ", "); //this will cut the input at an occurrence of `,` or `' '`, whatever happens first. At this point you would have the string "start" pointed by `p`.
strcpy(a, p);
p = strtok(NULL, ", ");
if(p) {
    b = atoi(p);
    if(b < 0 || b > 9) {
        //input error
    }
}
p = ...

残りは類似しています。

scanfソリューションの使用:

scanfを使用して入力を読み取ることができます(はい、これは強力な機能です)。

scanf(" %N[^,' '] ,%1d%*[^,' '] ,%1d , %N[^\n]", a, &b, &c, d);

" %N[^,' ']"最初の,または' '(空白)に達するまで入力を読み取りますまた、Nをa-1のサイズに置き換えます。

%1d%*[^,' ']1桁の整数を読み取り、a,が見つかるまで残りの入力を破棄して、b;に格納します。

%N[^\n]行の残りを読み取り、に格納しdます。Nをd-1のサイズに置き換えます。

scanfで使用できるトリックはたくさんあります。この場合、すべての空白はscanfの形式内で重要であることに注意してください。また、ユーザーが間違った入力フォーマットを入力した場合は扱っていませんが、可能です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

部分関数の入力として定数整数を取得するにはどうすればよいですか?

分類Dev

パンダの入力として複数の列を使用する関数を適用するにはどうすればよいですか?

分類Dev

Rの入力として複数のdata.framesを使用してカスタム関数を適用するにはどうすればよいですか?

分類Dev

JOptionPaneと配列を使用して、ユーザーによる複数の入力のリストを作成するにはどうすればよいですか?

分類Dev

Javaでスキャナーを使用して複数の入力を取得するにはどうすればよいですか?

分類Dev

Tkinter Entryを使用して複数行を入力するにはどうすればよいですか?

分類Dev

複数の入力を待機しているときにTPLTransformBlockを使用するにはどうすればよいですか?

分類Dev

React-複数の入力から値を取得して入力に送信するにはどうすればよいですか?

分類Dev

3/4などの分数を入力として取得するにはどうすればよいですか?

分類Dev

Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

分類Dev

機能APIを使用して複数の入力モデルに別の入力レイヤーを追加するにはどうすればよいですか?

分類Dev

tbody内のdata属性を使用して入力値を取得するにはどうすればよいですか?

分類Dev

Vanilla Javascriptを使用して入力の合計値を取得するにはどうすればよいですか?

分類Dev

fgetsを使用して2番目の整数を取得するにはどうすればよいですか?

分類Dev

Python関数で配列を入力として使用するにはどうすればよいですか?

分類Dev

数値入力フィールドにコンマを追加して、複数の再コードを取得するにはどうすればよいですか?

分類Dev

dplyrを使用して複数の変数でpmaxを取得するにはどうすればよいですか?

分類Dev

複雑なドキュメントテキストをVueの入力変数として使用するにはどうすればよいですか?

分類Dev

同じ行から複数の入力を取得するにはどうすればよいですか?

分類Dev

複数の行から入力を取得するにはどうすればよいですか?

分類Dev

2つの配列から合計結果を取得して複数の入力に分割するにはどうすればよいですか?

分類Dev

jsonpathを使用してjsonから複数の要素を取得するにはどうすればよいですか?

分類Dev

SwiftUIのfuncの入力としてVStackを使用するにはどうすればよいですか?

分類Dev

ls / grepの出力をpdfuniteの入力として使用するにはどうすればよいですか。

分類Dev

LSTMで入力ごとに複数の出力を生成するにはどうすればよいですか?

分類Dev

javascript関数を使用してこの<div>に複数の入力を追加するにはどうすればよいですか?

分類Dev

strtok()を使用して、スペースを含む特定の文字列を複数の文字列に分割するにはどうすればよいですか?

分類Dev

複数のEditTextにデータを入力した後、ViewModelを使用してTextViewを更新するにはどうすればよいですか?

分類Dev

数式を入力して結果を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    部分関数の入力として定数整数を取得するにはどうすればよいですか?

  2. 2

    パンダの入力として複数の列を使用する関数を適用するにはどうすればよいですか?

  3. 3

    Rの入力として複数のdata.framesを使用してカスタム関数を適用するにはどうすればよいですか?

  4. 4

    JOptionPaneと配列を使用して、ユーザーによる複数の入力のリストを作成するにはどうすればよいですか?

  5. 5

    Javaでスキャナーを使用して複数の入力を取得するにはどうすればよいですか?

  6. 6

    Tkinter Entryを使用して複数行を入力するにはどうすればよいですか?

  7. 7

    複数の入力を待機しているときにTPLTransformBlockを使用するにはどうすればよいですか?

  8. 8

    React-複数の入力から値を取得して入力に送信するにはどうすればよいですか?

  9. 9

    3/4などの分数を入力として取得するにはどうすればよいですか?

  10. 10

    Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

  11. 11

    機能APIを使用して複数の入力モデルに別の入力レイヤーを追加するにはどうすればよいですか?

  12. 12

    tbody内のdata属性を使用して入力値を取得するにはどうすればよいですか?

  13. 13

    Vanilla Javascriptを使用して入力の合計値を取得するにはどうすればよいですか?

  14. 14

    fgetsを使用して2番目の整数を取得するにはどうすればよいですか?

  15. 15

    Python関数で配列を入力として使用するにはどうすればよいですか?

  16. 16

    数値入力フィールドにコンマを追加して、複数の再コードを取得するにはどうすればよいですか?

  17. 17

    dplyrを使用して複数の変数でpmaxを取得するにはどうすればよいですか?

  18. 18

    複雑なドキュメントテキストをVueの入力変数として使用するにはどうすればよいですか?

  19. 19

    同じ行から複数の入力を取得するにはどうすればよいですか?

  20. 20

    複数の行から入力を取得するにはどうすればよいですか?

  21. 21

    2つの配列から合計結果を取得して複数の入力に分割するにはどうすればよいですか?

  22. 22

    jsonpathを使用してjsonから複数の要素を取得するにはどうすればよいですか?

  23. 23

    SwiftUIのfuncの入力としてVStackを使用するにはどうすればよいですか?

  24. 24

    ls / grepの出力をpdfuniteの入力として使用するにはどうすればよいですか。

  25. 25

    LSTMで入力ごとに複数の出力を生成するにはどうすればよいですか?

  26. 26

    javascript関数を使用してこの<div>に複数の入力を追加するにはどうすればよいですか?

  27. 27

    strtok()を使用して、スペースを含む特定の文字列を複数の文字列に分割するにはどうすればよいですか?

  28. 28

    複数のEditTextにデータを入力した後、ViewModelを使用してTextViewを更新するにはどうすればよいですか?

  29. 29

    数式を入力して結果を取得するにはどうすればよいですか?

ホットタグ

アーカイブ