問題タブ [freopen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1517 参照

c - C で argv を使用して特定のファイルの stdout と stdin をリダイレクトする方法

argv 配列で指定される特定のファイルで stdout と stdin をリダイレクトしたいと考えています。

たとえば、次のようなコマンドを入力すると - ./shell ls > test

「テスト」ファイルにリダイレクトする必要があります。コードを記述せずにそのファイルに自動的にリダイレクトするため、少し混乱しています。 、標準入力をリダイレクトする必要があります。argv[argc-1] と argv[argc-2] を使用してファイル名と ">" または "<" 記号を見つけようとしましたが、後で ">" とファイル名を使用すると、出力が印刷されるようです (その名前と記号を取得する代わりに、そのファイルで ">" "<" の前の引数を歌います)。

基本的には、execvp() と fork() を使用してシェル コマンドを作成しています。

これが私のコードです。静的ファイルでstdoutをリダイレクトできます。

0 投票する
1 に答える
225 参照

android - errno 14 EFAULT を返す freopen : 実行中。(アーム、Linux、アンドロイド)

freopen は errno 14 を返します。これは、Ubuntu でクロス コンパイルされた EFAULT-BAD ADDRESS と同等です。Arm ベースの Android デバイスで実行 Kernel 3.0.23 perf

コード :

0 投票する
0 に答える
274 参照

c - Freopen はファイルへの追加を拒否するだけで上書きする

C でシェルを作成しようとしています。ファイルのリダイレクト以外はすべて機能します。私のコードは正しいように見え、それを機能させるためにあらゆることを試しました。問題は、ユーザーが >> (例: ls -l >> foo.txt) を入力すると、既存のファイルに追加されるはずですが、私のコードではファイルが上書きされることです。私のプログラムは >> を検出していますが、freopen に "a+" があるため、追加ではなく上書きする理由がわかりません。すべての引数は正しく渡されていますが、再開は困難です。

私の問題コード:

0 投票する
3 に答える
3404 参照

c++ - プログラムに freopen の使用を停止するように指示するにはどうすればよいですか

私は C++ の初心者で、私の限界を超えた質問があります。GNU GCC でコンパイルします。私が使う

としても知られている:

プログラムのある時点で、de_facut.txt ファイルを in ファイルとして使用するようプログラムに指示します。

コンソールを使用して、ファイル内の代わりに入力を(デフォルトとして)配置するようにプログラムに指示するにはどうすればよいですか? 最初にそのファイルから読み取りたいのですが、プログラムの後半、ユーザーがコンソールに入力できるようにしたいと考えています。私の問題を理解していただければ幸いです。私は英語があまり得意ではありません。

0 投票する
1 に答える
200 参照

c - ファイル ストリームを再度開いて、ファイル名なしで空にするにはどうすればよいですか?

ファイルストリームがあるとしましょう。

どうにかしてもう一度開きたいのですが、空にしたいのですが、今回はファイル名にアクセスできません。以下のようにしてみましたが、出力は変わらないようです。

出力ファイルにはまだ「テスト」と表示されています。

0 投票する
1 に答える
503 参照

c - freopen を使用してサブディレクトリに書き込む

freopen を使用してサブディレクトリ内のファイルに書き出そうとしています:

freopen("output/output-1.txt", "w", stdout);

現在のディレクトリに出力するように変更しようとしましたが、動作します。ターゲット出力ファイルがサブディレクトリにある場合、エラーなしで終了します。ただし、ファイルは作成されません。必要なディレクトリを作成しても問題は解決しません。

誰にもこれに対する解決策がありますか?