![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
おはようございます。
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ランキング
-
バイナリファイルをテキストフ...
-
ファイル内のデータを1行削除...
-
テキストファイルの行数を取得...
-
fgetsで2行目から文字化け
-
fopen(書き込みモード)でファイ...
-
ファイルポインタが動かない・・・
-
VS2010 MFC CStdioFileについて
-
C言語の質問です。クイズをテ...
-
c言語 2つのファイルを行ご...
-
文字化けを直したい
-
fortranで文字列を読み込む際の...
-
(UWSC)このような場合、解決策...
-
C言語のfeof関数について質問
-
ハフマン符号のプログラム
-
改行までの一文字ずつのファイ...
-
C言語 CSVファイルの読み込み
-
ファイル読み込みについて
-
C言語・Windows 文字の出力がで...
-
巨大なテキストファイル(可変...
-
C言語初心者の質問失礼します。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
VBSで指定行に挿入
-
テキストファイルの行数を取得...
-
c言語 2つのファイルを行ご...
-
改行までの一文字ずつのファイ...
-
freadとfwrite
-
fopenで開いたファイルのサイズ...
-
続・EOF判定されない
-
テキストファイルの文字列の削除
-
巨大なテキストファイル(可変...
-
ファイルサイズ指定し、ファイ...
-
fprintfで出力するファイルのパ...
-
ハフマン符号のプログラム
-
0x00をファイル出力
-
winsock recvでの文字化け
-
【VB.Net】バイト型配列に読み...
-
複数テキストファイルを読み込...
-
VC++6でfgets関数の変わりにな...
おすすめ情報