問題タブ [writefile]
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.
delphi - シリアルポート WriteFile() フリーズ
私は単純なアプリケーションを持っており、1 分間に 1 バイトをシリアル ポートに送信する必要があります。しかし、奇妙な理由から、WriteFile() 関数のどこかでフリーズすることがあります。sw と hw の両方のフロー制御がオフになります。別のスレッドから実行された保留中の読み取り操作についていくつかグーグルで検索しましたが、アプリには単一のスレッドがあるため、これは問題ではないと思います。また、CreateFile からのハンドルは有効に見えるため、ポートを他のアプリケーションで使用しないでください。誰かがこれに苦しんだことがありますか?
printf - 文字列バッファに影響を与えるsprintf()とWriteFile()
私は非常に奇妙な問題を抱えていますが、それは理解できないようです。残念ながら、アプリケーション全体を説明せずに説明する方法すらわかりません。私がやろうとしていることは:
私のコードのほとんどは実装されており、正しいタグコードをシリアルポートから送り返すことができます。しかし、デバッグステートメントとして追加した2行があり、それらを削除しようとすると、プログラムが機能しなくなります。
線は一番下の2本の線です。
それらを削除しようとすると、「tagBuffer」は最後の文字だけをバッファとして保存します。次の行、WriteFile()でも同じです。
sprintfとWriteFileはI/O関数であり、変数には影響しないと思いました。私は立ち往生していて、これを修正するために助けが必要です。
これらの2行を使用すると、私の出力は次のようになります。
それらがないと、tagBufferとbufは常に最新の文字のみを格納することがわかりました。
どんな助けでも大歓迎です。ありがとう。
c++ - ファイルを USB スティックに書き込むと、不意の削除時にファイルの破損/ロックアップが発生する
「クイック削除用に最適化」ポリシーが設定されたループ内のファイルを USB スティックにコピーするバックグラウンド アプリケーションを作成しています。ただし、このプロセスの途中でスティックが取り外された場合 (具体的には、以下の WriteFile() 呼び出しで、ERROR FILE NOT FOUND が返されます)、アプリケーションがハングし、他のアプリケーションからドライブに永久にアクセスできなくなり、PC をシャットダウンできなくなります。ログオフ/再起動など。結果として、Windows Explorer の実行中のすべてのインスタンスもハングします。
スティックが取り外され、上記のエラーが発生した後に行われた CloseHandle() 呼び出しに問題を追跡しました。スティックがなくなったため、CloseHandle() がドライバーのどこかで無期限にブロックされているように見えますか? とにかく、WriteFile() が ERROR FILE NOT FOUND を返す場合、CloseHandle() 呼び出しをスキップするだけで、この問題を回避できました。ただし、これにより別の問題が発生し、ファイルが修復不可能なほど壊れてしまい、それを修正する唯一の方法が chkdsk を使用するか、スティックを再フォーマットすることになります。
これは XP (SP2 および 3) でのみ発生することに注意してください。Vista ではこの問題は発生しないようです。コードのスニペットは次のとおりです。
CreateFile() のフラグのほとんどすべての組み合わせを試しましたが、すべて役に立ちませんでした。誰かがこれを以前に見たことがありますか、または発生する2つの問題のいずれかを回避する方法について良いアイデアを持っています. 私が見ているのは、vista で黙って修正されたドライバーの問題ですか?
助けてくれてありがとう。
cocoa - cocoaのファイルにNSMutableArrayを書き込む際の問題
本当の初心者の質問。NSValuesを含むNSMutableArrayを作成するNSViewサブクラスがあります。writetofile:atomaticallyを使用して配列をファイルに書き込みたい場合:ファイルは作成されますが、可変配列に含まれているNSValueが含まれていません。この可変配列をファイルに正常に書き込む方法を知っている人はいますか?
ありがとう
c++ - ファイルをネットワークに保存する
ほんの数秒でローカル共有に保存される約 7 MB のファイルがあります。ただし、そのファイルをネットワーク上の場所に保存するには数分かかります。これを高速化するにはどうすればよいか考えています。ここに私の現在のオプションがあります:
- データをローカル マシンの一時ファイルに保存し、その一時ファイルをネットワーク パスにコピーします。これが最も簡単で、費用対効果が最も高いため、おそらくこれを行います。
- とを使用
SetFilePointerEx()
しSetEndOfFile()
ます。この質問への回答に基づいて、これが役立つかもしれないと思いました: Windowsで大きなファイルを作成する - バッファ書き込み。書き込みデータを自分でキャッシュし、バッファがいっぱいになったらフラッシュすることもできますが、これは OS によって既に行われているキャッシュと重複しませんか?
#1が最良の選択肢のように思えますが、ネットワークパスへの保存を高速化するためのより良い方法について何かアドバイスがあれば教えてください。
編集:ネットワークはギガビット LAN 上にあるため、速度は問題になりません。ファイルをネットワーク パスにコピーするには、約 1 秒かかります。データの小さなチャンクで WriteFile() を呼び出していることに気付いたので、より大きなチャンクを書き込むように高レベルのコードを最適化することはおそらく役立つでしょうが、速度の違いは依然として非常に大きいため、尋ねる価値のある質問です.
r - データフレームについて:Rでのファイルへの書き込みとバインドされたベクトルの命名
このようなデータがあります。そして、以下の私のコードは、単にいくつかの値を計算し、出力ベクトルを元のデータフレームにバインドします。
上記に関していくつか質問があります。
しかし、なぜ上記の'write()'関数がこのエラーを出すのですか。それを修正する方法はありますか?
cat(list(...)、file、sep、fill、labels、append)のエラー:引数1(タイプ'list')は'cat'では処理できません呼び出し:write->cat実行が停止しました
データフレーム内のバインドされたベクトルの名前は、10個の新しい列すべてに対して「errprob」として追加されます。「errprob1」、「errprob2」などの名前を付ける方法はありますか?
c# - .NET が内部的にエラーをクリアしないのはなぜですか?
次のシナリオを実行しています。
pass は false ですが、重複して実行されているため、予想されます。
問題は、Marshal.GetLastWin32Error() が ERROR_IO_PENDING を返さず、ERROR_ALREADY_EXISTS を返すことです。ファイルを作成したときにエラーが表示されなかったので、これは奇妙です。今、私はアクセスできないように見えるハンドルを閉じる方法を見つけようとしている、または少なくともこれが起こっている理由についての説明を得ようとしています。
編集:わかりました、問題を解決しました。問題の原因はわかっています。
どうやら、内部的に AppendAllText 呼び出しがエラーを引き起こしているようです。このログ呼び出しの後にエラーをリセットする必要がありますか? フレームワークがその関数の内部動作で低レベルの呼び出しをリセットしないことを知っておくと、これは役に立ったと思います。ああ、あなたは毎日何か新しいことを学びます。
私が持っている新しい質問は、この呼び出しの後に低レベルのエラーをリセットする必要があるか、または出力をログに記録する他の方法があるか (log4Net などのサードパーティ ツールを使用したり、Debug.Trace 出力に夢中になったりしないでください) でしょうか? 基本的に、Marshal.GetLastWin32Error(); に影響を与えない追加用のファイルを開く方法。出力。
c++ - C++ でファイルを書き込めません
私は最も基本的なことをしようとしています.... C ++でファイルを書きますが、ファイルは書き込まれません。エラーも発生しません。多分私は明らかな何かを見逃しています...または何ですか?
コードに問題があると思いましたが、ネットで見つけたサンプルも試してみましたが、まだファイルが作成されません。
これはコードです:
事前に手動でファイルを作成してみましたが、まったく更新されません。
これと関係がある場合は、Windows 7 64ビットを実行しています。ファイル書き込み操作が完全に禁止されており、エラー メッセージや例外が表示されないようです。
c# - 転送後にサーバーから削除する必要がある大きなファイルのWriteFileとTransmitFile
大きなファイルのユーザーダウンロードをWebブラウザーにトリガーする必要があります。そこで、サーバー上で転送するファイルを作成し、その後すぐに削除します。おそらくResponse.TransmitFileまたはResponse.WriteFile...を使用する必要があることを確認するのに十分な例を見つけましたが、両方に問題があると聞いています。
WriteFileは同期的ですが、ユーザーに送信する前にファイルをメモリにバッファリングします。私は非常に大きなファイルを扱っているので、これは問題を引き起こす可能性があります。
TransmitFileはローカルでバッファリングしないため、大きなファイルに対しては機能しますが、非同期であるため、TransmitFileを呼び出した後にファイルを削除できません。どうやらファイルをフラッシュしても、ファイルを削除できるとは限りませんか?
これに対処する最良の方法は何ですか?
BinaryWriteもあります...ファイルストリームをループして、セグメントにコピーできますか?
windows - シンプルなメールスロット プログラムが動作しませんか?
ここにあるクライアントとサーバーの例を使用します: http://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancedmailslot14.html VS2008 でそれらをコンパイルし、サーバーを実行してから「クライアント Myslot」を実行すると、「WriteFail がエラー 53 で失敗しました」というメッセージが表示され続けます。誰にもアイデアはありますか?他の Mailslot の例へのリンクも歓迎します。
サーバ:
クライアント: