txtファイルから他のコンマ区切り値にアクセスする方法。C ++

ゾーン
ifstream f("events.txt");
if (f.is_open())
{
    string l,t;
    string myArray[5];
    int i = 0;
    while (getline(f, l))
    {
        getline(stringstream(l), t, ',');
        cout << t << endl;
        myArray[i] = t;
        cout << myArray[i] << endl;
        i = i + 1;
    }

したがって、次の内容を含む「events.txt」というファイルがあります。

An angry orc hits you with his weapon!,-50
A mage casts an evil spell on you!,-20
You found a health potion!,25
An enemy backstabs you from the shadows!,-40
You got eaten by a Dragon!,-1000

これまでのプログラムのこの部分は、コンマまでの文を出力し、それを配列に格納します。私の問題は、何らかの方法で番号にアクセスして別の配列に格納したり、イベントが発生したときに使用したりすることです。これは、プレーヤーのHPを下げるために使用されます。

前もって感謝します!

フランク・フグ

これを行う簡単な方法:

データを格納する構造体を定義します。

struct Event {
    std::string message;
    int number;
}

(両方のアイテムを別々の配列に格納しないでください。それらは一緒に属します。)

この構造体のベクトルを作成し、それにアイテムを追加します。

std::vector<Event> events;
while (getline(f, l)) {
    size_t pos = l.find(',');
    Event e;
    e.message = l.substr(0, pos);
    e.number = std::stoi(l.substr(pos+1));
    events.push_back(e);  
}

ただし、これは文字列にコンマが1つだけあることを前提としています。より柔軟にしたい場合は、std::strtokまたは正規表現を使用してください

別の推奨事項:I / Oを解析から分離します。intコメントの1つで提案されているように、入力ストリームから直接のようにデータ型を読み取ろうとしないでください代わりに、行全体または解析単位が何であれを読んでから、解析を実行してください。これにより、コードが読みやすくなり、エラー処理とデバッグが簡素化されます。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Cのtxtファイルからコンマ区切りの文字列を抽出します

分類Dev

マトリックスをtxtファイルからコンマ区切り-続き

分類Dev

別のマシンからXMLファイルにアクセスする方法

分類Dev

キーと値のペアを維持しながら、辞書をコンマ区切りの.txtファイルに変換するにはどうすればよいですか?Python

分類Dev

Windowsのバッチスクリプトからtxtファイルに区切り文字を追加する

分類Dev

他のファイルからFlaskの構成値にアクセスする

分類Dev

コンマ区切りのリストから値を削除する 他のコンマ区切りリストの他の値から値を削除する

分類Dev

他のファイルからログインスタンスにアクセスする方法

分類Dev

a.txtファイル内にコンマ区切りの数値文字列を作成します

分類Dev

ファイルをマウントして、コンテナkubernetes内のアプリケーションからファイルにアクセスする方法

分類Dev

他のファイルから関数にアクセスする方法は?

分類Dev

Reactから他の.jsファイルにアクセスする方法

分類Dev

C ++のテキストファイルから空白を含むコンマ区切り値を読み取ります

分類Dev

カンマ区切りの.txtファイルを辞書に変換する

分類Dev

同じセル内の数値を2つの「カンマ区切り値csv」ファイルに分割する

分類Dev

テキストファイルにコンマを含む行区切りの文字列をgrepする方法は?

分類Dev

別のコンマ区切りリストからyから始まるxアイテムのコンマ区切りリストを取得する方法

分類Dev

MySQLにCSVコンマ区切りファイルをインポートする方法はありますか?

分類Dev

nodejsプロジェクトで他のファイルからファイルにアクセスする方法

分類Dev

Dockerコンテナにファイルを追加し、他のコンテナからアクセスできるようにする方法は?

分類Dev

Hive-ファイルから配列に値を挿入します(コンマとセミコロンで区切ります)

分類Dev

セミコロンで区切られたtxtファイルから2番目の列を取得するにはどうすればよいですか?

分類Dev

列区切りのテキストファイルからID /パスポート番号を削除するにはPowershellコマンドが必要です

分類Dev

Visual C#他のクラスファイルからアイテムにアクセスする

分類Dev

c# で txt ファイルから 1 文字にアクセスする

分類Dev

TXTファイルから文字列へのSTR_REPLACE(コンマ区切り文字を使用)

分類Dev

各ファイルからテキストをフィルタリングし、カンマ区切り値のリストに変換します

分類Dev

複数のファイルからコンテンツにアクセスする方法

分類Dev

セル内に複数のコンマが含まれるコンマ区切りファイル

Related 関連記事

  1. 1

    Cのtxtファイルからコンマ区切りの文字列を抽出します

  2. 2

    マトリックスをtxtファイルからコンマ区切り-続き

  3. 3

    別のマシンからXMLファイルにアクセスする方法

  4. 4

    キーと値のペアを維持しながら、辞書をコンマ区切りの.txtファイルに変換するにはどうすればよいですか?Python

  5. 5

    Windowsのバッチスクリプトからtxtファイルに区切り文字を追加する

  6. 6

    他のファイルからFlaskの構成値にアクセスする

  7. 7

    コンマ区切りのリストから値を削除する 他のコンマ区切りリストの他の値から値を削除する

  8. 8

    他のファイルからログインスタンスにアクセスする方法

  9. 9

    a.txtファイル内にコンマ区切りの数値文字列を作成します

  10. 10

    ファイルをマウントして、コンテナkubernetes内のアプリケーションからファイルにアクセスする方法

  11. 11

    他のファイルから関数にアクセスする方法は?

  12. 12

    Reactから他の.jsファイルにアクセスする方法

  13. 13

    C ++のテキストファイルから空白を含むコンマ区切り値を読み取ります

  14. 14

    カンマ区切りの.txtファイルを辞書に変換する

  15. 15

    同じセル内の数値を2つの「カンマ区切り値csv」ファイルに分割する

  16. 16

    テキストファイルにコンマを含む行区切りの文字列をgrepする方法は?

  17. 17

    別のコンマ区切りリストからyから始まるxアイテムのコンマ区切りリストを取得する方法

  18. 18

    MySQLにCSVコンマ区切りファイルをインポートする方法はありますか?

  19. 19

    nodejsプロジェクトで他のファイルからファイルにアクセスする方法

  20. 20

    Dockerコンテナにファイルを追加し、他のコンテナからアクセスできるようにする方法は?

  21. 21

    Hive-ファイルから配列に値を挿入します(コンマとセミコロンで区切ります)

  22. 22

    セミコロンで区切られたtxtファイルから2番目の列を取得するにはどうすればよいですか?

  23. 23

    列区切りのテキストファイルからID /パスポート番号を削除するにはPowershellコマンドが必要です

  24. 24

    Visual C#他のクラスファイルからアイテムにアクセスする

  25. 25

    c# で txt ファイルから 1 文字にアクセスする

  26. 26

    TXTファイルから文字列へのSTR_REPLACE(コンマ区切り文字を使用)

  27. 27

    各ファイルからテキストをフィルタリングし、カンマ区切り値のリストに変換します

  28. 28

    複数のファイルからコンテンツにアクセスする方法

  29. 29

    セル内に複数のコンマが含まれるコンマ区切りファイル

ホットタグ

アーカイブ