
おはようございます。
Javaはそれなりに経験があるのですが、Cの経験は皆無に等しいものです。
FILE *fp;
fp = fopen("C:\hoge.txt","r");
if(::GetFileSize(fp,NULL)>1000000){
ログをバックアップに格納し、新しいファイルを作る;
}
としたところ、ファイルの中身が空でもif文の中を通るようになってしまいました。
ファイルサイズがうまくとれていないようなのですが、どこに原因があるのでしょうか。
クイックウォッチをしようしても中の値が見れません。。。。。
環境はMicrosoft Visual Studio .NET 2003 + WinXPです。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
ご質問の内容のプログラムでGetFileSizeは使えません。
GetFileSizeを使用する場合、第一引数はCreateFileなどのAPIで取得できるファイルハンドルを使用します。fopenの場合、ファイルディスクリプタですので、feof、fread、fseekなどを使用して、同様の機能を実現する必要があります。
MFCのCFileクラスを使うというところまでわかりました。fopenじゃダメなんですね(同様の機能を実現できる気がしないです)。
MSDNのサンプルを見てもコメントは英語で書いてあるし。。。。
訳がわからなくなってきました^^;
No.3
- 回答日時:
環境に依存せず一般的に使える方法を紹介します。
int fd ;
struct stat st ;
fd = fileno(fp) ;
fstat(fd,&st) ;
st.st_size が求めるファイルサイズです。
No.2
- 回答日時:
ありがとうございます。
タイトルにfopenで~とありますが、fopenしか知らなかっただけなので、CFileを使ってみたところうまく行きそうな感じです(コンパイルはできました)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルの行数を取得...
-
データ読み込みについて
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
巨大なテキストファイル(可変...
-
続・EOF判定されない
-
ファイル内のデータを1行削除...
-
(UWSC)このような場合、解決策...
-
改行までの一文字ずつのファイ...
-
fscanfについて
-
UNIXシェルプログラム等からバ...
-
c言語 2つのファイルを行ご...
-
C++でのファイル読み書き
-
連続でファイル作成
-
int型の値をファイルに保存
-
ドラッグ&ドロップすると、今...
-
0バイトファイルの作成
-
EOF判定されない
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイナリファイルをテキストフ...
-
テキストファイルの行数を取得...
-
ファイル内のデータを1行削除...
-
巨大なテキストファイル(可変...
-
複数テキストファイルを読み込...
-
fgetsで2行目から文字化け
-
【VB.Net】バイト型配列に読み...
-
改行までの一文字ずつのファイ...
-
C言語での改行コードの扱いにつ...
-
InternetReadFileで大きいファ...
-
C/C++ ファイル入出力操作 (長...
-
fopenで開いたファイルのサイズ...
-
fopen(書き込みモード)でファイ...
-
テキストファイルの文字列の削除
-
ファイル読み込みについて
-
C言語のローカル変数の使い方に...
-
freadとfwrite
-
EOF判定されない
-
続・EOF判定されない
-
fortranで文字列を読み込む際の...
おすすめ情報