• 締切済み

2G以上のファイル操作

Visual Studio.NETを使用して、2G以上のファイルを操作したいと思っています。 Visual Studioを使用したいのは、デバッグの環境を今までの状態から変更したくないからです。 fopen(), fseek()などだと、32ビットの制約上、2Gまでが限界だとおもっています。 何か方法ありませんか? GCCとかなら、コンパイルオプションでLFSを使用することで、2G以上も扱えるみたいですが。 よろしくお願いします

みんなの回答

noname#208124
noname#208124
回答No.3

fseekの代用には_fseeki64があります fopen64はありません 両用です _FILE_OFFSET_BITS=64 のように自動で置き換えてくれるマクロはありません

全文を見る
すると、全ての回答が全文表示されます。
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

long型のサイズで制約を受けるのはfseekとftellだけですので、代わりにfsetposとfgetposを使えば済む話だと思います。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

 こんばんは。  Win32のCreateFile()/SetFilePointer()で行えそうです。  「SetFilePointer()」  http://msdn.microsoft.com/ja-jp/library/cc429788.aspx  「ファイル操作関連」  http://msdn.microsoft.com/ja-jp/library/cc429126.aspx

catsuya
質問者

お礼

ありがとうございます できでれば、Cで実現できる方法があったら、教えていただきたいです

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Machine debug manager 無効

    Visual Studio .NETを使っているのですが 最近、「開始」「デバッグなしで開始」「ステップイン」などの機能を使うと 「デバッグを解しできません. Machine Debug Manager サービスは無効です」 という表示が出て機能を使うことができません。 オプション設定などを見てもどこをどういじればいいのかわかりませんでした。 使用しているVisual Studio .NETは 私の所属している学科がライセンス契約をしているので そこでインストールしたものです。 どうか対処法を知っている方はお教えください。

  • g++コンパイルしながら使用されたヘッダー・ライブラリのフルパスを表示させたい

    宜しくお願い足します。 : posix gcc 3.2.2 20030222 (Red Hat Linux 3.2.2-5) g++: no input files の環境です。 $ g++ -o hoge hoge.cc としてコンパイルしながらにコンパイラがどのヘッダー、ライブラリを使用したかフルパスで表示させるにはどのようなオプションを指定すればいいのでしょうか?

  • デバッグを終了してから画面が操作できるまで5秒以上かかるのですが異常でしょうか?

    デバッグを終了してから画面が操作できるまで5秒以上かかるのですが 異常でしょうか? 環境は ・vista ・メモリ2G ・Microsoft Visual Basic 2008 Express Edition です。 フリーズに近い状態になります。 VBとはそういうものなのでしょうか? よろしくお願いします。

  • 64bitで作ったEXEを32bitで起動したい

    windows 7 64bitでvisual Studioを使ってEXEを作ったのですが 64bitでは起動出来たのですが、32bitだと起動できませんでした。 32bit用のコンパイルの仕方などがあるのでしょうか?

  • Visual C++の操作方法に特化した書籍またはサイト

    おすすめの書籍またはサイトを教えてください。 目的はANSI準拠C++コンソールアプリケーションプログラムのソースコーディングで、Visual C++ 2005を使って簡単便利に(時間を節約して)タイピング&デバッグすることです。 ソースファイルをLinuxに持っていきgcc等でコンパイル&実行することもあります。 Visual C++ の、ヘルプの活用方法、ショートカットキー、コードスニペット的機能、デバッグや検索の便利なワザなどが多く載ったものがよいです。 C++の知識はあり教科書も揃えてあるので、以下の掲載は不要です(少々あっても怒りはしませんが) ・C++とはなにか、どのようなコードを書くか、というC++の説明 ・Windowsのダイアログを出したりデザインしたりする方法 2005用のがなければ、6.0, .Net, 2008用でも結構です。 よろしくお願いします。

  • CygwinからVisual C++へ

    Cygwinでコンパイルしていたプログラムを、 Visual C++の cl コマンドでコンパイルしたいです。 あるプログラムを書きまして、Cygwinをインストールし、 [block.rc] BLOCKS BITMAP "block.bmp" という内容のリソースファイルを作成して、 windres block.rc -o block.o gcc -mwindows aaa.cpp block.o でちゃんとコンパイルできていました。 上記のように Visual Studio 2010 のVisual C++でコンパイルするにはどうしたらいいのかわかりません。 cl aaa.cpp block.o とやっても cl -mwindows aaa.cpp block.o とやっても、コンパイルできませんでした。 -mwindowsに代わるclコマンドのオプションを探してはみてみたものの、 -GA windowsアプリケーション用の最適化を行う というものを見つけたのでやってみましたがだめでした。 どなたか、コンパイルのアドバイスを下さい。

  • Visual C++ 2005のコンパイル方法

    Visual C++ 2005というソフトを使ってプログラミングをしているのですが、コンパイルの方法がわかりません。確か出力→デバッグ開始だっとような気がするんですが、デバッグができないのでコンパイルもできません。ちなみに元のソースは学校でLinuxでemacsを使用して作ったものなので、一からVisual C++ 2005で作ったものではありません。 回答お願いします

  • Vine4.1で64bitのコンパイルを行いたい。

    OpteronマシンにVine4.1を入れました。 gccで64bitのコンパイルをしたいのですが、 -m64オプションをつけると、そのコマンドが無いような意味のメッセージが表示されます。 そう簡単にはできないのでしょうか?

  • VC++2005で、リリースモードとデバッグモードの2通りをコマンドラインで行いたい。

    VC++2005で、リリースモードとデバッグモードの2通りでコンパイルしたいのですが、GUIでなく、コマンドラインでコンパイルしたいです。 オプションで、リリースモードの時のオプションとデバッグモードの時のオプションが知りたいです。 あと作成した、DLLやEXEからこれはデバックモード、リリースモードとわかる方法が知りたいです。 32/64bitの判定は、 dumpbinコマンドで分かりました。

  • デバッグを解除したときに元の画面に戻る処理が異常に長い

    Visual Studio で1つのソリューションの中に20くらいのプロジェクトがありますが、 コンパイル数を1つにしても、 デバッグを解除したときに元の画面に戻る処理が異常に長いです。 プロジェクトが少ないと早いので、 内部的に何か処理を行っていると思うのですが、 何か早くする対策はあるのでしょうか?

このQ&Aのポイント
  • Windows11にアップグレード後、無線での印刷ができないトラブルが発生しています。
  • お困りの方は、Windows11での無線印刷の設定や接続状況を確認してください。
  • ブラザー製品のDCP-J968Nをお使いの場合、Windows11での無線印刷ができない問題が報告されています。
回答を見る