0

ファイルから入力を読み取る関数を作成する必要があります。ファイルは次のように設定されます: ファイル全体で 1 文字、スペース、単語、スペース、次のようになります。

A space 1 space 2 space...

単語に続く空白ではなく、1文字に続く空白を抽出する必要があります。

どうすればこれを行うことができますか?関数が空白を抽出するのではなく、空白自体を書き込むようにする必要がありますか?

また、この情報を 2 次元の char 配列にインポートしています。整数を char 配列に書き込もうとすると問題が発生しますか?

4

3 に答える 3

2

多分このような何か?

#include <iostream>
#include <fstream>

int main() {
    char myChar;
    char theWS;
    std::string word;
    std::ifstream in("example.txt");

    while(in >> myChar >> std::noskipws >> theWS >> word >> std::skipws) {
        std::cout << myChar << theWS << word << '\n';
    }
}
于 2013-01-30T01:08:48.433 に答える
1

トークナイザーのアイデアについては、すでに触れているはずです。これが必要な構造です。

于 2013-01-30T00:40:25.287 に答える
-1

文字配列に整数をうまく書き込むことができます。CとC++はとにかくASCII文字を小さな数字として表すので、それらの取り扱いは簡単です。特定の文字に対応する数値の例: '0' => 48、 '1' => 49、...、'A' => 65、'B'=>66など。

アスキー文字の完全なセットとそれに対応する値については、http: //www.asciitable.com/を参照してください。

'A' + 1 => 'B' これにより、数値と文字の間で変換するだけでなく、文字に対して数学演算を実行することもできます。(char) 65 => 'A'

于 2013-01-30T01:15:15.790 に答える