問題タブ [stdin]
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.
batch-file - バッチから実行されたアプリが stdin を使用しているときに、標準入力をバッチ ファイルにフィードするにはどうすればよいですか?
demo.bat
私の問題を説明するための最小限のバッチファイルは次のとおりです。
foo.txt
次のような入力ファイルがあります。
バッチファイルを として実行しますdemo.bat < foo.txt
。出力は次のとおりです。
を削除するsqlcmd -?
と、 bar は として「入力」bar_value
されます。これは、当初期待していたものです。
sqlcmd
そのため、意図されていない標準入力でどういうわけかうまく機能していないように見えます。どうすれば回避できるかについて、何か明るいアイデアを持っている人はいますか? 完璧な世界では、ソリューションに元のバッチ ファイルの変更や、相互作用を促進するためのサードパーティ パッケージのインストール (Expect など) は含まれません。
java - Java:別のプロセスでCallableを実行する
x
のインスタンスが与えられた場合、プロセスの標準の入力と出力をリダイレクトできるように、別のプロセスでCallable<T>
実行するにはどうすればよいですか?x
たとえば、?Process
からを構築する方法はありCallable
ますか?Executor
入出力を制御する規格はありますか?
[更新]Callable
新しいスレッドではなく、新しいプロセスで実行することは重要ではありません。私が欲しいのは、Callable
インスタンスを「ハーネス」に入れて、そのstdin/stdoutを制御できるようにすることです。AFAIK、これは新しいプロセスを必要とします。
c++ - printf("something\n") 出力 "something " (追加スペース) (g++/linux/gedit で出力ファイルを読み取る)
using を読み取り、結果を usingstdin
にscanf
返す単純な C++ プログラムがあります。stdout
printf
g++ でコンパイルし、Linux で実行しています。次のように、テキスト ファイルを入力として使用してプログラムを実行し、出力を別のテキスト ファイルにパイプします。
プログラム < in.txt > out.txt
問題は、out.txt が次のようになっていることです。
結果1_
結果2_ 結果
3_
...
「_」は各行末の余分なスペースです。gedit で out.txt を表示しています。
追加のスペースなしで出力を生成するにはどうすればよいですか?
私の入力ファイルは次のようになります。
2 123
123 123 123
123 234 212
編集:この問題の回避策を見つけることができました:printf("\rfoo");
ご意見ありがとうございます!
c# - SSMS 用の C# 外部ツール - stdin からの読み取り
SQL Server Management Studio の外部ツール機能を利用するアプリを作成しようとしています。
外部ツールを指定するには、アプリへのパスを入力し、STDIN 経由でアプリに渡す引数を指定します。
現在、引数を表示するフォームがあります。外部ツールを実行するたびに、アプリケーションの新しいインスタンスを取得します。
理想的には、ツールを初めて実行してアプリケーションをロードし、その後の各実行で STDIN から引数を取得し、アプリの新しいインスタンスを作成せずに何かを実行したいと考えています。
これを可能にするためにできることはありますか、それとも多くのウィンドウで立ち往生していますか?
前もって感謝します
bash - bash スクリプトでの stderr の一時的なリダイレクト
別のプログラムを開始するために使用される簡単なスクリプトがあります。この他のプログラムはSIGSEGV
、私の出力を混乱させる を生成することがあります。したがって、が無視さstderr
れる/dev/null
ように を一時的にリダイレクトすることになっている行をいくつか追加しました。SIGSEGV
以下は私のコードのドラフトです:
問題は、最後の行が私が望むことをしないことです。最初の行は明らかに機能し、stderr
. 最後の行は、元の場所に戻すことstderr
になっています (これは、 と同じだと思っただけですstdout
)。
どんな助けでも感謝します!
.net - ユーザーが入力しているかのようにコンソールに入力を送信する方法は?
これは私の問題です。TTY で実行する必要があるプログラムがあります。cygwin はこの TTY を提供します。stdIn をリダイレクトすると、TTY がないためプログラムが失敗します。このプログラムを変更することはできず、自動化する方法が必要です。
cmd.exe ウィンドウを取得してデータを送信し、ユーザーが入力していると認識させるにはどうすればよいですか?
私は C# を使用しています。java.awt.Robot でそれを行う方法があると思いますが、他の理由で C# を使用する必要があります。
java - AIR 1.5 アプリが stdin から読み取り、stdout/stderr に書き込む方法はありますか?
Adobe AIR 1.5 のファイルシステム関連のクラスを勉強してきましたが、今のところ stdin/stdout/stderr とのやり取りについて言及しているものは見たことがありません。AIR を使用すると、ローカル ファイル システムと対話することが可能になり、FileStream クラスが存在するため、少し驚くべきことです。
親プロセスから AIR アプリを起動し、stdin/stdout を介して非同期 i/o を介して AIR アプリとやり取りしたいと考えています。localhost でポートを使用したり、ソケット I/O を実行したりする必要がなくなります。(ええ、これは Java と AIR をクロスプラットフォームの方法でMerapiスタイルでブリッジすることについてです。)
c# - C# コンソール プログラム - STDIN から STDOUT への移動を停止する
C#、.NET 2.0 で簡単なコンソール アプリを作成しています。メインスレッドでコマンドを解釈しながら、スレッド化タイマーを使用して新しいスレッドを開始します。
現在、私は次の 3 つのコマンドを使用しています: P - 一時停止 C - 続行 Q - 終了
この機能は非常にうまく機能しますが、残念ながら、P、C、または Q (またはその他の文字) を入力すると、その文字は STDOUT になります。これをプログラムで停止する方法はありますか? また、STDIN -> STDOUT を無効にして再度有効にできるかどうかを知っておくと便利です。
前もって感謝します。
c++ - C/C++ は stdin からの hexinput からバイトを読み取ります
C/C++ で次のことを行う方法を正確に見つけることができません。
入力: 16 進値、例: ffffffffff...
入力を読み取るために、次のコードを試しました。
これで問題なく動作しますが、2 バイトを 1 バイトの値に分割するにはどうすればよいですかuint8_t
(または、最初のバイトのみを読み取ることもできます)。入力から最初のバイトを読み取り、選択した位置のバイト マトリックスに格納します。
私は C/C++ での入力の書式設定/読み取りにあまり熟練していないため (これまでは scanf しか使用していませんでした)、これを簡単に (できれば高速に) 行う方法に関する他のアイデアは大歓迎です。
編集: fread 関数を使用すると、ストリーム (この場合は stdin) から読み取って変数/配列に保存するバイト数を指定できるため、さらに優れた方法が見つかりました。
パラメーター
ptr - 最小サイズが (size*count) バイトのメモリ ブロックへのポインター。
size - 読み取る各要素のバイト単位のサイズ。
count - 要素の数。それぞれのサイズは size バイトです。
stream - 入力ストリームを指定する FILE オブジェクトへのポインター。
perl - selectを使用せずに、PerlでパイプされたデータのSTDINをチェック(ピーク)するにはどうすればよいですか?
引数もパイプされたデータも Perl スクリプトに渡されない可能性を処理しようとしています。引数がない場合、入力はSTDIN経由でパイプされていると想定しています。ただし、ユーザーが引数を指定せず、スクリプトに何もパイプしない場合、キーボード入力を取得しようとします。私の目的は、代わりにエラー メッセージを提供することです。
残念ながら、select()
一部の非 POSIX システムには移植できません。移植性を最大限に高めてこれを行う別の方法はありますか?