問題タブ [eof]
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.
c++ - 自分でEOF文字を書くことはできますか?
ファイルに書き込むときのC++などのほとんどの言語では、次のようなステートメントを記述しなくても、EOF文字を入力します。
filestream.close
ただし、どのような方法でも、たとえばC ++では、要件に応じてEOF文字を配置できます。または、C++で提供される関数を使用する以外に使用する可能性のあるその他の方法。
あなたがより多くの情報を尋ねる必要があるならば、親切にコメントをしてください。
前もって感謝します。
編集:あなたのサポートに感謝しますが、ここにこの質問への追加があります:
たとえば、OSをだまして、ファイルにEOF文字を配置し、EOFの後にデータを書き込んで、notepad.exeなどのアプリケーションがEOF文字の後に読み取ることができないようにしたい場合はどうでしょうか。私はこのトピックに関連する質問への回答を読み、今日のOSは一般的にEOF文字を認識せず、ファイルの長さを確認してファイルの長さを知る正しい考えを得るようになりましたが、ファイルの長さをチェックしてからファイルレコードを更新するOSのプロシージャである必要があります。
私の見積もりのいずれかの時点で間違っている場合は申し訳ありませんが、それが多くの新しいアイデアにつながる可能性があるので、私を助けてください。
c++ - read(2) は EOF でないときにゼロを返すことができますか?
read(2) のマニュアル ページによると、EOF に達した場合にのみゼロを返します。
しかし、これは間違っているようで、おそらくファイルをまだ読み取る準備ができていないために、ゼロが返されることがありますか? ディスクからファイルを読み取る前に、select() を呼び出して、準備ができているかどうかを確認する必要がありますか?
nBytes は 1,445,888 であることに注意してください。
サンプルコード:
出力は次のとおりです (データが読み取られずに失敗した場合)。
これは、VMware Server 1.0.10 を使用して仮想マシンとして centos4 32 ビットで実行されています。読み取られるファイル システムは、仮想マシンに対してローカルです。ホスト マシンは Windows Server 2008 32 ビットです。
uname -a は次のように述べています。
以下のリンクhttp://opengroup.org/onlinepubs/007908775/xsh/read.htmlに次のように記載されていることに気付きました。
それで、おそらく読み取りを中断する信号を受け取っているので、返された値はバグのためにゼロになるか、ゼロバイトが読み取られたと考えられますか?
asp.net - ASP.NETではEOFではないがRecordSet.MoveNextと同等
DataReader
テーブルに格納されている情報を表示するためにを使用しています。
next
録音とに移動するための2つのボタンを作成しましたgo back
。
VB6では、次のコードを使用しました。
DataReaderにはEOFプロパティがないため、このASP.NET
ような方法は見つかりませんでした。
編集 :
この最後のコード(VB6)をASP.NETに変換するにはどうすればよいですか?
c++ - ブースト::iostreamをstd::ios :: binaryに匹敵するモードで動作させる方法は?
について次の質問がありますboost::iostreams
。誰かがフィルターの作成に精通しているなら、私は実際にあなたのアドバイス/助けをいただければ幸いです。
私は、データコンプレッサーとデコンプレッサーboost::iostream::filtering_stream
として機能するマルチ文字フィルターのペアを書いています。
私はコンプレッサーを書くことから始め、lz-familyからいくつかのアルゴリズムを選び、現在はデコンプレッサーに取り組んでいます。
一言で言えば、私のコンプレッサーはデータをパケットに分割し、パケットは別々にエンコードされてからファイルにフラッシュされます。
ファイルからデータを復元する必要がある場合(プログラミング用語では、read(byte_count)
要求を受信する)、完全にパックされたブロックを読み取り、バッファーに入れ、解凍してから、要求されたバイト数を指定する必要があります。このロジックを実装しましたが、現在、次の問題に苦しんでいます。
データがパックされると、出力ファイルに任意のシンボルが表示される可能性があります。(hex 1A, char 26)
また、。を使用した記号を含むファイルを読み取るときに問題が発生しますboost::iostreams::read(...., size)
。
std::ifstream
たとえば、を使用している場合は、std::ios::binary
モードを設定すると、この記号を簡単に読み取ることができます。
ルーチンをboost::iostream
使用してcharシーケンスを読み取るフィルターを実装するときに同じことを実現する方法はありますか?boost::iostream::read
ここにいくつかのコード:
java - Javaを使用してXMLデータをAPIにPOSTする際の問題
HTTPPOSTを使用してXMLデータをAPIに送信する際に問題が発生しました。
適切にフォーマットされたXMLを送信すると、次のエラーメッセージが表示されます。
サーバー例外:閉じたストリームにアクセスできません
XMLが適切にフォーマットされていない場合は、を取得しHTTP 500
ます。また、XMLを含む文字列の代わりに空の文字列を送信すると、次のエラーメッセージが返されますEMPTY REQUEST
。
エラーが何であるかについてはあまりわかりませんが、エラーメッセージがXML形式で返されるため、接続は機能します。XMLデータを文字列として送信しているだけです。最終的にEOFなどを送信する必要がある可能性はありますか?そして、Javaコードでそれをどのように行うのですか?問題が何であるかについての他のアイデアはありますか?
APIは.NETで作成されています
XMLデータをPOSTするために使用しているJavaコードは次のとおりです。
antlr - ANTLR 入力に実行可能な代替手段がありません ''
私はまだ ANTLR の学習過程にあります。私は文法を構築しましたが、ほとんどの場合、期待どおりに動作しますが、サイレントに実行できるようにする必要があります (標準出力または標準エラー出力には出力されません)。
文法
ジャワ
入力
出力
EOF エラーが発生する理由がわかりません。私が理解していることから、私の文法は正しく解析されており、「解析」パーサーが評価された後にエラーが発生しますが、そのノードは EOF を探しています。ANTLR 3.2 の使用
java - Hibernate、c3p0、およびMysql:java.io.EOFException
MySQLとc3p0でHibernateを使用していますが、MySQL接続が8時間後に期限切れになると()、Hibernateは再接続できず、次の例外が発生します。wait_timeout
これはhibernate.cfgです:
これは私のc3p0.propertiesファイルです:
アップデート:
ログファイルの下:
どんなヒントでも大歓迎です。
ありがとう
vb.net - [VB.NET]あるファイルから別のファイルにデータを転送する
基本的に私は私のクライアントを取りたいです。次に、たとえば、クライアントで「A = 1」があるとします。次に、ランダムデータが含まれる2番目のファイルです。したがって、Client= My Client File = 最終結果に必要なファイル
クライアントからファイルに「A = TextBox1.Text」を挿入するにはどうすればよいですか。「End Of File」などと呼ばれていると聞きました。何か助けてください。
c++ - cin と ifstream のストリームの終わりを見つけますか?
私は、C++ プログラミングの復習として持っている C++ の教科書を読んでいます。練習問題の 1 つ (詳しくは説明しませんが) では、ifstream または cin (istream など) を引数として渡すことができる関数を定義する必要があります。そこから、ストリームを読み進める必要があります。問題は、この1 つの関数で cin と ifstream を使用してストリームの末尾を効果的に検出する方法がわからないことです。すなわち、
シンではうまくいきません。特定のフレーズ (「#End of Stream#」など) を探すように関数を作り直すこともできますが、渡すファイル ストリームにこの正確なフレーズが含まれている場合、これは悪い考えだと思います。
私は関数のオーバーロードを使用することを考えましたが、これまでのところ、本は私がこれを行うことを望む場合について言及しています。私はおそらくこの 1 つの練習問題に力を入れすぎていますが、私は創造的なプロセスを楽しんでおり、オーバーロードせずにこれを行う方法があるかどうかに興味があります.
c - このプログラムがセグメンテーション違反を起こしているのはなぜですか?
Mathtextというプログラムを作成しました。このプログラムは、特定の文字範囲を「数学的な文字のような記号」などの Unicode 範囲にシフトしてプレーンテキストのイタリック体、ボールド体、セリフ体などを生成することにより、プレーンテキストに「スタイル」を与えます。
シェルのように行ごとのインタープリターとして機能し、行が入力された後に翻訳された行を出力します。これは、ファイルcat
全体を変換するためにファイルを /piped できること、および ^D を押すことで「シェル」を「終了」できることを意味します。これは、stdin が EOF を押すことによって検出されます。
すべてが機能します。ただし、^D を押して終了すると、segfault が発生します。何が原因なのか、いまだによくわかりません。
でコンパイルすると-g -O0
少し役に立ちます。^D が押されたときの転置での strlen 呼び出しから問題が発生することがわかりました。ただし、eof が true であるため、^D の間は決して transpose を呼び出すべきではありません。