![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
DLLで外部のファイルサイズを得る関数を作っています。
C言語は書きながら覚えていこうとしているのですが、
どうしても分からない点がありました。
ソースをここに正しく書ける自信がないので日本語を含めて大体で書きます。
いろいろなサイトのコピペです。
double __stdcall filesize(){
HANDLE hFile;
DWORD size;
hFile = CreateFile( _T(絶対パス, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
size = GetFileSize( hFile, NULL );
CloseHandle( hFile );
return(size);
}
このような感じで書いていて最後にretuenでファイルサイズを正しく得ることができました。
この絶対パスは環境によって変わるので引数にしようと考えました。
そしてfilesize()の中にどのように記述すればいいかで躓いています。
filesize(絶対パス){
char pass[] = "絶対パス";
hFile = CreateFile( _T(pass, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
こんな感じで書ければいいのですがC言語はポインタや文字列の扱いが難しいですね。
初歩的なことで申し訳ありませんがよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
古いC言語の仕様しか知りませんが、
\は\\と書けばいいはずです。
char systemdir[] = "c:\\windows\\system32";
てな感じで。
それから、
filesize(絶対パス){
char pass[] = "絶対パス";
と言う書き方って、良かったんだったかな?
はっきりと覚えていないですが、普通は
filesize(char *pass){
hFile = CreateFile( _T(pass, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
でいいと思います。
これだと、文字列(パス名)の先頭アドレスのみfilesize関数に渡ることになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Android VBA、フォルダのパスに環境文字 ㉑ があり、VBAが機能しません。 2 2022/07/27 09:16
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のプログラムについてです
-
ポインタを使って回文かどうか...
-
固定長レコードから構造体につ...
-
C言語のintとcharの違いってな...
-
【C言語】引数にファイルパスを...
-
C言語で文字列をかえす正しい書...
-
Cの関数の引数のconst *charに...
-
ポインタを使用 [数字列を数値...
-
char 文字列型 の表現範囲が-12...
-
セグメントエラー
-
関数から配列を返すには?
-
配列の問題
-
VBAのプログラムで、DIAG = 1# ...
-
C言語 配列の長さの上限
-
nullと""、\\0とEOFの違いにつ...
-
【速いブラインドタッチ】手を...
-
C言語の課題で困っています;
-
newしないオブジェクトについて
-
入力関数(配列4個)を作成するプ...
-
メモリを確保する方法(アセン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
char*を初期化したいのですが
-
CStringからchar*への型変換に...
-
C言語のintとcharの違いってな...
-
C言語にて構造体のメンバがNULL...
-
小数点入りの文字列をfloat型に...
-
strcat関数を自作したいです
-
C言語のプログラムについてです
-
const char* s1とただのchar s1...
-
DWORDとcharの変換
-
char型にint型の数値を代入する。
-
文字列の途中から途中までを抽出
-
new charとnew char[N]の違いは?
-
文字列内の数字削除
-
csvファイルをfscanfで読み込む...
-
fgetc( )の戻り値はなぜ整数??
-
char 文字列型 の表現範囲が-12...
-
fstream型オブジェクトを関数の...
-
エクセルのMID関数は、C言語では?
-
ポインタを使って回文かどうか...
-
ポインタ配列
おすすめ情報