0

これは私の最初のプロジェクトです。私は自分自身を教えようとしているので、ご容赦ください。私のプログラミングの知識について何も仮定しないでください。

私がやりたいことは、この場合はファイル Text.txt を取得し、それを読み取り、ASCII を 16 進数に変換してから、Text.txt ファイルを 16 進数コードで上書きするコンソール プログラムを作成することです。もう一度実行すると、プロセスを逆にします。

コマンドベースでこれを行う方法はありますか?実際にこのプロセスを初期化する前に、コンソールに「開始」と入力する必要がありますか? それに加えて、コンソールを開いたままにして、「開始」(または、それが不可能な場合は別の単語) と入力して、プロセスを元に戻すことができるようにしますか?

現在、プログラムを開いたままにするためにこれを最後に追加していますが、上記のようにやりたいことを行うときにどのように使用しますか? それとももっと良い方法がありますか?[コード] std::string in;

while ((std::cin >> in) && (in != "exit"))
{
}
return 0;
}

インポートとエクスポートのために fstream を使用する必要があることはわかっていますが、終了直後にすべてを閉じずにそれを行う方法や、最初に 16 進数/ASCII に変換するために結び付ける方法がわかりません。

あなたが与えることができる助けやヒントをありがとう。

編集:申し訳ありませんが、私の質問は:

Text.txt ファイルの ASCII を 16 進数に変換してエクスポートする基本的なプロセスは何ですか? fstream の概念自体は基本的に理解していますが、テキストの変換とともにそれを実装する方法がよくわかりません。また、テキストを 16 進数に正確に変換する方法をどこから始めればよいかわかりません。 .

4

1 に答える 1

0

ここにはいくつかの質問がまとめられています。圧倒されるかもしれません。

  1. 何かを入力する必要があるように、コマンドベースでこれを行う方法はありますか
  2. 上記のようにやりたいことをするときにどのように使用しますか?
  3. しかし、終了後すぐにすべてを閉じずにそれを行う方法がわかりません
  4. 最初に16進数/ASCIIを変換するように結び付ける方法。

問題を部分に分解することから始め、それぞれを 1 つずつ実装します。最初に: ファイル I/O -- ファイルから読み取る関数 (または、より良い方法: クラス) を作成します。

次: 値を ASCII から 16 進数に変換する関数またはメソッドを追加します。

次: 端末制御機能/curses/etc を実装するクラスまたは関数を追加します。

これらを分離すると、設計が容易になり、テストが容易になり、SO からの支援が得やすくなります。

于 2013-07-03T21:57:33.837 に答える