問題タブ [qfile]

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 投票する
1 に答える
2315 参照

qt - QFile を関数に渡す

で無効な間接エラーが発生しgenerateCSVHeader(*file4);ます。

関数宣言:

機能の使用:

逆参照指定子を削除すると、QFIle を QFile * に変換できませんというエラーが表示されます。

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

qt - Qt HTTP 経由の大きなファイルのストリーミングと eMMC フラッシュへのフラッシュ

非常にメモリに制約のある組み込み Linux デバイス上の Qt のサーバーに HTTP 経由で大きなファイル ( 1Gb ) をストリーミングしています。最初にヘッダーを受け取ったときに、ファイル システムのどこにデータを書き込むかを決定し、その場所への QFile ポインターを作成し、追加するためにファイルを開きます。サーバーには、新しいデータがソケットに到着するたびに呼び出される「蓄積」機能があります。その蓄積関数から、write() を介してデータをファイルに直接ストリーミングしたいと考えています。私の蓄積機能を以下に示します。

私の問題は、これを行うときのメモリ使用量です-メモリが不足しています。蓄積の反復ごとに flush() および fsync() を実行でき、RAM の使用を心配する必要はありませんか? 私は何を間違っていますか?どうすれば修正できますか? ありがとう -

累積関数の前にファイルを 1 回開きます。

以下は、蓄積関数の一部です。

編集:

コードを計測すると、'waitForBytesWritten(-1)' 呼び出しは常に 'false' を返します。ドキュメントによると、データがデバイスに書き込まれるまで待機する必要があります。

また、「write(data)」行だけをコメント解除すると、空きメモリが減ることはありません。何が起こっているのでしょうか?「書き込み」はどのようにして大量のメモリを消費するのですか?

編集:

今、私は次のことをしています。メモリが不足することはありませんが、空きメモリが 2Mb に減少し、ファイル全体が転送されるまでそこにとどまります。その時点で、メモリが解放されます。途中で転送を強制終了すると、プロセスを再起動して同じファイルに書き込もうとするまで、約 2Mb の空き領域が残っているため、カーネルがメモリを保持しているように見えます。私はまだ、反復ごとにメモリを使用およびフラッシュできるはずだと思います。

編集:

この種のことは、私が Linux キャッシングを誤解しているように思えます。この投稿 --> http://blog.scoutapp.com/articles/2010/10/06/determining-free-memory-on-linuxを読んだ後、「free -mt」の出力を誤解している可能性があります。私はその出力の「空き」フィールドを監視しており、大規模なファイル転送で 2MB 前後に落ちているのを確認しています。ファイル転送が完了したら、高レベルの無料データに戻ることを望みます.

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

qt - QFile:PHYSICALDRIVEからサイズを取得できません

もともとハードディスクの画像を分析するために考えられていたツールを書きました。現在、このツールをコンピューターシステムのライブ分析に使用しようとしています。つまり、ツールが物理ドライブにアクセスしようとしています。

QFileクラスを使用して画像にアクセスするQTにツールを実装しました。画像の代わりに、物理ドライブを渡します。ウィンドウの下では、\。\PHYSICALDRIVE0です。

私は最初にエラーが発生しなかったのだろうかと思っていました。デバイスを開くことができ、シークして位置を取得することができます。ほとんどすべてです。私が問題を抱えているのは、size()を使用してドライブサイズを取得することだけです。

いくつかのコード例:

私はQTにあまり深くは入っていません。おそらく、これは簡単なことです。その理由を知っている皆さんに感謝します。

前もって感謝します!

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

c++ - QFile::canReadLine() が常に false を返すのはなぜですか?

を使用してファイルを1行ずつ読み取ろうとしていました

しかし、呼び出されるたびに成功し、次の行を読み取るQFile::canReadLine()にもかかわらず、常に false を返します(私はそれをテストしました)。file.readLine()

常にfalseを返すと思われますか? ドキュメントには、バッファリングされていないデバイスに対して常に false を返すと書かれていますが、QFile はバッファリングされていませんか?

Qt 4.7.4 を使用しています。

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

qt - このコードでエラーが発生するのはなぜですか

いくつかの異なるチュートリアルを見てきましたが、すべてのコードは同じように見えますが、コンパイルしようとすると 2 つのエラーが発生します。それらは、'(QFile) (QString&)' への呼び出しと一致しません。'(QTextSteam) (Qfile)' への呼び出しと一致しません。理由を教えてください。以下は、さらに質問する必要がある場合の私のコードの一部です。

コードのヘッダーチャンク

私のソースコード

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

c++ - このコードでファイルが開かない理由がわかりません

このコードでファイルが開かない理由がわかりません。助けてください。さまざまなことを試しましたが、何も機能しません。ファイルを開くことさえ信じられませんか?

これは main.cpp です

これは私のヘッダーです。

これがメインウィンドウです.cpp

}

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

qt - QFile myFile.copy(newFile) は失敗しましたが、myFile.error は 0 を返します (これは NoError を意味します)

SUSE 11 Linux で Qt 4.6.3 を使用しており、QFile でファイルをコピーしようとしています。

デバイスに十分なスペースがあれば、すべて問題ありません。

ディスクがいっぱいの場合、bash を使用して Linux コンソールでファイルをコピーしようとすると、エラー メッセージが表示されます。

私の C++ プログラムでは、myFile.copy() は「false」を返しますが、myFile.error() は「0」を返します。myFile.error() が「0」以外の値を返すことを期待していました。

さらに、 myFile.errorString() を試したところ、結果として「不明なエラー」が発生しました。

「No space left on device」のようなエラーコードやメッセージを取得することはできますか?

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

c++ - QFile はファイルを開きません

基本的にQt Webサイトから盗んでファイルを開こうとするプログラムがあります。プログラムは、私がその理由について混乱しているものを開くことを拒否します。多くのドキュメントを探しましたが、機能しない理由を説明してください。

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

c++ - QList の要素でのセグメンテーション違反

私のアプリケーションには、QFile オブジェクトへのポインターのリストがあります。

この関数は、リストに要素を追加します。

この関数の後、QFile ポインタが QList に追加されます。しかし、関数 at(int) を使用して取得するリストの要素で何かを操作しようとすると、セグメンテーション違反が発生します。

例:

誰かが私が間違っていることを見ていますか?

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

c++ - Qt: c++: ".dat" ファイルの読み方

「1」と「-1」を縦方向のシーケンスとして含む「.dat」ファイルがあります (つまり、各要素が 1 行に表示されます)。

次のようにファイルを読み込もうとしています:

ただし、以下に示すように、結果は私のシーケンスとは異なります。

ここに画像の説明を入力

私は何を間違えましたか?