これは通常パイプで行われます。 (!とで行われた作業の多くを得て)私がテストしてきた環境で正常に動作するを思えのWindows 10でパイプ、特に:Windowsのbashのプロセス間で大量のデータを流すにはどうすればいいですか?
- のGit bashの
- MSYS2のbashの
大きなファイルやバイナリストリームがある場合は、インストールされているツール(cat largefile.JPG | wc -c
)を正確に使うことができますが、C++で独自の画像処理プログラムを書くたびに、stdin cstdio
古い学校のCメソッド、Cプログラム、またはC++を使用するcin
iostreams)ストリームが終了する前に、ストリームのほんの一部しか表示されません。その長さは決定的であるように見えるので、同じファイルで同じ結果が得られます。
OS XまたはLinux上で同じコードをテストすると、stdinストリームの長さが正しい長さであることが明らかに適切に機能します。したがって、ディスクに当たることなくデータを渡すために、これらのプラットフォーム上でこれを実用的な方法にします。私は10年前からバッシュフーを磨いていたので、それはかなり自然になる。
私が利用できる他の方法も存在しなければなりませんが、私が本当に頼りになると思うようなものをすぐに思いつくことはできません。ここでこの問題のトラブルシューティングを試みることができるものは何ですか?私は本当に私が
g++.exe (Rev2, Built by MSYS2 project) 7.1.0
Copyright (C) 2017 Free Software Foundation, Inc.
を含め、MSYS2内部のパックマンをインストールすることができますUNIXツールのセットが好きしかし、これはこれまでのところ、私の一つの大きなつまずきの石です。このコンパイラでコンパイルされた私の最も簡単なプログラムは、標準入力ストリームから有効量のデータをスラッシュアップできません。何故ですか?オペレーティングシステムやPOSIXレイヤーやその黒い魔法のいくつかの制限がある場合、wc
はどうして完璧に動作しますか?
すべての 'stdin'とそれをどのように実行するのに失敗した、コンパイル可能な、実行可能なプログラムを表示してください。 –
私は[this](https://stackoverflow.com/a/3495410/340947)コードを使用し、これを次のように実行します: 'cat large.JPG | 。/ size'。これは 'gcc size.c -o size'でコンパイルされます。 –
https://github.com/borgbackup/borg/pull/2032を見ましたか? – zortacon