ファイルと構造体


みちゅ  2008-07-24 10:41:03  No: 68773  IP: 192.*.*.*

環境:WinXP,VC++6.0
ファイルの内容を構造体に出力したいんですがうまくいきません。

typedef struct {
    char [8];
    char [8];
    char [4];
    char [1];
    long ptr;
    char [1];
    char [6];
    char [1];
    char [1];
    char [50];
}HST;

この構造体を読み込む前に同じファイルから最初の1行を別の配列に
読み込んでいるんですが、構造体へ読み込む場合と同じ関数を使う
ことはできないでしょうか?

関数は、fread、fgets、fscanf など試してみましたが何も読み込んで
きませんでした。
ヘルプやウェブでも調べてる最中なんですが良い方法があれば教えて
ください。

編集 削除
ななし  2008-07-24 10:44:22  No: 68774  IP: 192.*.*.*

質問自体が意味不明。
出力したいなら、fwrite()。

編集 削除
ん?  2008-07-24 10:49:48  No: 68775  IP: 192.*.*.*

ソースを提示した方が早そうですよ>スレ主

編集 削除
みちゅ  2008-07-24 11:17:42  No: 68776  IP: 192.*.*.*

仕事で扱っているものなのでソースを提示できず、わかりづらくて
すみません;
テキスト形式のファイルを読んで、上にある構造体にファイルの
中身を入れたいんです。
fwrite() 試してみます。

編集 削除
επιστημη  2008-07-24 11:30:17  No: 68777  IP: 192.*.*.*

> わかりづらくてすみません;

"わかりづらい"んじゃなくて"わからない"。
ファイル上にどんな形式で書かれてるかも示さずに
「うまくいきません」言われても「ヘマしてんじゃない?」が精一杯です。

編集 削除
 2008-07-24 11:33:01  No: 68778  IP: 192.*.*.*

>仕事で扱っているものなのでソースを提示できず

新規でプロジェクトを作ってこの部分だけの機能を
試してみては?全体のソースを提示されても逆に困ります。


char ReadBuf[100];
struct _A {
   char bufA[10];
   char bufB[10];
   char bufC[10];
   char bufD[10];
   char bufE[10];
} A;


fp = fopen("c:\\hoge.txt","r");
fgets(ReadBuf,999,fp);

strncpy(A.bufA , &ReadBuf[0],10);
strncpy(A.bufB , &ReadBuf[20],10);
strncpy(A.bufC , &ReadBuf[40],10);
strncpy(A.bufD , &ReadBuf[60],10);
strncpy(A.bufE , &ReadBuf[80],10);

みたいなことをしたいいのではないかなぁと予想です。

編集 削除
仲澤@失業者  2008-07-24 11:35:26  No: 68779  IP: 192.*.*.*

現段階の知識と能力では、仕事にするのは無理かもしれません。

文字列や変数をファイルへ保管/読み込みするサンプルでも見て
勉強しましょう。

Windows SDKなら、CreateFile() WriteFile() ReadFile()
MFCならCFile
あたりがキーワードです。

編集 削除
通りすがり  2008-07-26 17:15:44  No: 68780  IP: 192.*.*.*

もし long ptr に意図しない値が入っているなら、構造体の構造を見直すことをお勧めします。

編集 削除