- 締切済み
FindFirstFileのファイル属性の戻り値が違う?
TAGOSAKU7の回答
- TAGOSAKU7
- ベストアンサー率65% (276/422)
Server/Proの違いによるものではなく、属性が違うだけだと思います。 dwFileAttributesは属性です 以下の定数が入ります。 FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_NOT_CONTENT_INDEXED FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM FILE_ATTRIBUTE_TEMPORARY これらの定数の意味は、他のAPI関数でSetFileAttributesに詳細が出ています。 参考URLを見てください。
関連するQ&A
- FindFirstFile ハンドル開放
dat.datファイルの情報を、WIN32_FIND_DATA構造体に得るために handle = FindFirstFile("dat.dat", &win32finddata); FindClose(handle); //この後でwin32finddataを利用。 としているんだけど、今回はハンドルを使わないから FindFirstFile("dat.dat", &win32finddata); //この後でwin32finddataを利用。 として、FindFirstFileの返り値の取得と、FindClose関数を 省略してもいいんですか?
- ベストアンサー
- C・C++・C#
- ポインタを使って構造体の配列を戻り値にするには
関数の戻り値を構造体の配列(アドレスを受け渡しを利用して)にしたいのですがうまくゆきません。 以下のプログラムではコンパイルはできるのですが、 a0 = 2 a1 = 4198512 a2 = 4329332 と表示されてしまいa1,a2がうまくゆきません。 ********************************************* #include<stdio.h> struct test{ int a; }; struct test *func(void); void main(void) { struct test *data;//構造体ポインタ int i; data = func(); //ポインタにtest関数の戻り値(アドレス)を代入 for(i=0;i<=2;i++){ printf("a%d = %d\n",i,(data+i)->a); //構造体要素を表示 } } struct test *func(void) { struct test data[3]={1,2,3}; //構造体配列を定義 return (&data[0]); //構造体配列の先頭アドレスを返す } ************************************************* test関数から受ける取ったアドレス(&data[0])をポインタ(data)に代入して1づつずらして表示させれば a0=1,a1=2,a=3 となると思ったのですがどこが間違っているのでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 関数の戻り値が複数ある場合
C言語初心者です。 関数の戻り値を返す場合、return 変数名;と記述しますよね。 配列を返す場合、ポインタを使用しないで返すにはどうしたらいいですか? 例えば合計と平均を計算する関数があり その結果を配列に入れてmainに返すなど。 以前他の方の質問のコメントに 配列の要素が固定であれば、構造体にして返す方法もあります。 struct array { int x[10]; }; struct array func() { struct array a; ... return a; } -- とあったのですが、構造体の要素が全てint型ならば 配列ではダメなのですか?
- 締切済み
- C・C++・C#
- Functionで戻り値を複数返す方法
Functionで戻り値を複数取得したいのですが うまくいきません。(NULLの使い方が不正ですとエラー) 戻り値に配列を使う場合 呼び出し側はどのように記述すればいいでしょうか? <呼び出し側> Private Sub a() wkkekka1 = 処理結果(Kensu, Houhou)(0) ⇒ ここでエラー wkkekka2 = 処理結果(Kensu, Houhou)(1) wkkekka3 = 処理結果(Kensu, Houhou)(2) End Sub <関数> Public Function 処理結果(ByRef lngKensu As Long, ByRef strHouhou As String) Dim kekka(3) As Double If lngKensu = 1000 and strHouhou = aaaaaa then kekka(0) = 0.1 kekka(1) = 2 kekka(2) = 300 Else ↓ (省略) ↓ End If 処理結果 = kekka End Function
- ベストアンサー
- Visual Basic
- API関数でOS判定
教えてください。 Win32のAPI関数「GetVersionEx」を使用して、OSの判定をおおなっているのですが、「Windows2000」「WindowsCE」「WindowsME」の判定方法がわかりません。その他の「WindowsNT」「Windows3.51」「Windows95/98」はAPI関数の戻り値(構造体)の「プラットフォームID」と「マイナーバージョン」でわかるのですが…。 どなたか回答をお願いします。 ちなみに、「WindowsME」でのマイナーバージョンを調べてらら「90」の値が返ってきました。これは、「90未満」「90以下」「90以上」「90超」のどれなんでしょうか…。
- 締切済み
- Visual Basic
- GetLongPathName関数について
VB6でTempフォルダをGetTempPath関数で取得するとショートファイル名でパスが返るので、 取得したショートファイル名をGetLongPathName関数でロングファイル名にしようと しているのですが上手く出来ません。 Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _ (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Private Declare Function GetLongPathName Lib "kernel32" Alias _ "GetLongPathNameA" (lpszShortPath As String, lpszLongPath As String, _ cchBuffer As Long) As Long Dim nName As String Dim Ret As Long Dim Buf As String nName = String$(260, vbNullChar) Ret = GetTempPath(Len(nName), nName) nName = Left$(nName, InStr(nName, vbNullChar) - 1) Buf = String$(260, vbNullChar) Ret = GetLongPathName(nName, Buf, 260) Buf = Left$(Buf, InStr(Buf, vbNullChar) - 1) Tempフォルダはショートファイル名(C:\DOCUME~1\Owner\LOCALS~1\Temp\)は 取得されますがGetLongPathName関数でロングファイル名が 返りません、戻り値は0が返ってしまいます。 コードが間違えているのか、元々取得出来ないのか分かりませんが ご存知の方教えて下さいますようお願い致します。 尚、可能ならばFindFirstFile関数でロングファイル名を取得するのではでなくて GetLongPathNameで取得したいと思っています。
- ベストアンサー
- Visual Basic
- ファイル読み込みエラーになる。
ファイル読み込み時に読み込んだデータサイズと、それを格納するストラクタのsizeofで取得したサイズが異なる為エラーになってしまいます。 実際のデータ→10バイト 構造体→WORD、DWORD、DWORDの10バイト なのですが、 blRet = ReadFile(hNDFile[bFile], cpReadData, sizeof(構造体),&outFileSize, 0 ); とすると、構造体のsizeofの値が12になる為関数は戻り値1(エラー)で返ってきてしまいます。 取得した値自体は問題ないのですが。。 逆にこの問題を解決しようとして構造体宣言の部分を#pragma pack(push , 1)で囲うと、sizeof(構造体)の値は10バイトとなり、readfile関数は正常に終わるのですが、読み取ったデータの値が想定していないものになってしまいます。 何がおかしいかわからず困っています。。
- ベストアンサー
- C・C++・C#
- Windows2000 と Windows2000server の違い
社内用のローカルサーバを作ることになりまして、Windowsサーバを考えているんですが、Windows2000Pro と Windows2000Server の具体的な違いってなんでしょうか? Win2000Proで問題が無いようならそれで行きたいのですが。 取り急ぎ知りたいので参考URLだけでも結構です。 よろしくお願いします。
- ベストアンサー
- Windows系OS