問題タブ [cfile]

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

c++ - C#でファイルの論理長をバイト単位で見つける方法

アプリケーションの一部を ATL/COM(C++) から WPF、C# に書き直そうとしています。彼らが使用する古いアプリケーションでは

しかし、C# アプリケーションで FileInfo.Length を使用すると、正しくない値が返されます。C#でファイルの論理長を実装する正しい方法は何ですか? どんなアドバイスでも大歓迎です。

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

c++ - CFile と CStdioFile 一度に 1 バイトを読み取る

Visual Studio 2008 で C++ MFC を使用して、CFile または CStdioFile を使用してテキスト ドキュメントの最後の行を読み取り、保存し、ファイルにテキストが修正された後に再印刷しようとしています。

その部分が機能するようになりました。唯一の問題は、動的ではないことです。最後の行の長さに応じて手動でオフセットを作成する必要があります。そのため、これが動作するすべてのファイルで共通の要素が見つかるまで最後の行を読み取り、そこにあったバイト数をカウントする関数を作成しようとしています。これは私が今持っているものです:

ただし、これにより、私が振ることができないように見える無限ループが発生します。それを機能させる方法についてのアイデアはありますか?

追加情報。これはファイルのサンプルです。

途中で数えて < に到達するまで < /Station> を読み上げたいと思います。

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

c++ - LPTSTR + CFile 書き込みの問題

CListBox から項目を読み取り、CFile を使用してファイルに書き込もうとしています。

これが私のコードです

しかし、私はこのデータを取得しています

正しいデータを取得するための提案。

ありがとう

0 投票する
0 に答える
280 参照

c++ - CFile::オーバーロードされた関数のインスタンスを開きません

エラー: オーバーロードされた関数 CFile::open のインスタンスがありません 助けてください

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

c++ - 相対パス .EXE 名で ::ShellExecute と静的 CFile::GetStatus() のパス検索順序を同じにする必要がありますか?

私のMFCアプリ内から、私は次のようなことをしています

ただし、静的 CFile::GetStatus で見つかったファイルへのフル パスは、::ShellExecute によって実行されているものではありません (名前は同じですが、別のフォルダーで別のバージョンの "MyOtherProg.exe" を実行しています)。 .

さまざまなフォルダーにさまざまな「MyOtherProg.exe」のセットを使用して、同じ O/S (Win7 64 ビット) のさまざまな PC でこれを試しました。どちらの PC の ShellExecute も、CFile::GetStatus にあるものと同じものを実行しません。ある PC は常にバージョン 3 を実行し、別の PC は常にバージョン 2 を実行します (なぜ一貫性がないのでしょうか?)。

注 1: 2 台の PC で、少なくとも 3 つのバージョンが「インストール」されていますが、PATH にはどれもインストールされていません。文書化されていない機能である場合、デスクトップにショートカットがあるものもあります。

注 2: それらはすべて異なるバージョンの "MyOtherProg.exe" ですが、異なるディレクトリにインストールされています。

注 3: ::ShellExecute を介して最終的に実行されるもののフル パスは、タスク バーの [スタート] メニューの下にある [検索] 編集フィールドに「MyOtherProg.exe」と入力したときに見つかったパスと同じです。しかし、CFile::GetStatus によって検出されたものが同じではないのはなぜですか? また、ある PC ではバージョン 2 であるのに、別の PC ではバージョン 3 である理由は何ですか?

注 4: 両方の PC で、RUN コマンド "MyOtherProg.exe" の結果の検索リストには 1 つのバージョンのみが表示されます (ただし、1 つの PC には 3 つのバージョンがインストールされ、もう 1 つの PC には 4 つの異なるバージョンがインストールされ、5 つ目のバージョンがインストールされています)。 「デバッグ」ビルド)。3 つのバージョンを持つ PC は常にバージョン 2 のみをリストし、5 つのバージョンを持つ PC は常にバージョン 3 のみをリストします。

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

c++ - 長いファイル (15 MB) の CStdioFile::GetPosition が数バイト間違っている

テキスト ファイルを 1 行ずつ読み取り、現在の位置 m_numBytesRead を保存するコードを次に示します。そのため、ループを中断し (大きなファイルのチャンクでテキスト解析を分割する場合)、m_numBytesRead-1 の Seek を作成して 2 回目にアクセスしようとすると、ReadString は期待どおりに行の先頭を取得しません。 .

詳細にデバッグし、Notepad ++ で取得したインデックスと比較すると、CStdioFile::GetPosition() が正しい値を与えていないようで、新しい行の先頭が読み取られますが、数バイト (私の場合は 12) 以上です。 ..

MFC のバグですか、それとも何か不足していますか? 誰かが同様の問題を見ていますか?

Windows 7 で VS2010 を使用していることに注意してください。

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

c++ - ガベージ バリュー フォーム ファイルを読み取る理由

ファイルを読み込んでその値の一部を更新したいだけですが、 CFile を使用して読み込んでいると、sFileContentにガベージ値が返されます

これが私のコードです

解決策を教えてください

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

c++ - 文字列の書き込みに CStdioFile を使用する

ベクターに格納されたデータをファイルに書き込みたい。したがって、次のルーチンを使用します。

問題は次のとおりです。s にはデータがありますが、出力ファイルは常に NULL です。その謎を解ける人はいますか?