【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※返信付き投稿の削除は禁止!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら


本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.23517

ファイル構造体についての質問
投稿者---tongari(2005/10/06 12:33:15)


ファイル構造体について、質問があります。
※環境は、RedHat8.0,コンパイラはgccになります


UNIX系では、ファイル構造体_iobufがstdio.hで定義されていますが、


extern struct _iobuf{
    int _cnt;
    unsigned char* _ptr;
    unsigned char* _base;
    int            _bufsiz;
    short          _flag;
    int            _file;
} _iob[];



が、RedHat系では、ファイル構造体がstdio.hで定義されていない
ように思えますが、別のヘッダファイルで定義されているのでしょ
うか?それともファイル構造体自体存在しないのでしょうか?

ご教授下さい、宜しくお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ファイル構造体についての質問 23520 si 2005/10/06 14:13:41


No.23520

Re:ファイル構造体についての質問
投稿者---si(2005/10/06 14:13:41)


FC4 gcc4 ですが、ファイル構造体は、
stdio.h で typedef struct _IO_FILE FILE;
libio.h で struct _IO_FILE {....};
と宣言されています。


この投稿にコメントする

削除パスワード

No.23524

Re:ファイル構造体についての質問
投稿者---tongari(2005/10/06 15:05:46)


>FC4 gcc4 ですが、ファイル構造体は、
>stdio.h で typedef struct _IO_FILE FILE;
>libio.h で struct _IO_FILE {....};
>と宣言されています。

ご回答有難うございます。
早速、libio.hに_IO_FILEがあるか確認したらありました。

しかし、_iobuf構造体の
int _cnt /* 現在位置からファイル最後までのバイト数 */
unsigned char* _ptr /* 次に読まれる位置 */
int _file /* ファイルディスクリプタ */
int _bufsize /* バッファサイズ */
int _base /* バッファの位置 */

が_IO_FILEのどのメンバに一致するかわかりませんでした。

インターネットにも情報が載っていないようで悩んでおります。

以上、ご存知の方、ご教授下さい。


この投稿にコメントする

削除パスワード

No.23526

Re:ファイル構造体についての質問
投稿者---REE(2005/10/06 16:01:13)


処理系によりFILE構造体の実装は異なりますし、
そもそも、通常、FILE構造体の実装を意識する必要もありません。
どのような用途で、構造体メンバの対応を知りたいのでしょうか?



この投稿にコメントする

削除パスワード

No.23527

Re:ファイル構造体についての質問
投稿者---tongari(2005/10/06 16:10:15)


>処理系によりFILE構造体の実装は異なりますし、
>そもそも、通常、FILE構造体の実装を意識する必要もありません。
>どのような用途で、構造体メンバの対応を知りたいのでしょうか?

もともとUNIXで記述されたソースをRedhat Linuxへ移行しています。
Redhat Linuxでは、_iobuf構造体のメンバ_flags, _cntなどstdio.h
で定義されていないためソースをコンパイルするとエラーが発生し、
悩んでいます。

FILE構造体の実装を意識する必要がないということはもっと良い解決
策があるのでしょうか?

宜しくお願い致します。


この投稿にコメントする

削除パスワード

No.23530

Re:ファイル構造体についての質問
投稿者---REE(2005/10/06 16:58:35)


>もともとUNIXで記述されたソースをRedhat Linuxへ移行しています。
>Redhat Linuxでは、_iobuf構造体のメンバ_flags, _cntなどstdio.h
>で定義されていないためソースをコンパイルするとエラーが発生し、
>悩んでいます。
>
>FILE構造体の実装を意識する必要がないということはもっと良い解決
>策があるのでしょうか?
>
>宜しくお願い致します。

通常は、FILE構造体のメンバを直接操作することなく、
標準関数の範囲でプログラミングします。
標準関数で出来ない場合は、APIなどを使用することもあります。

まずは、そのFILE構造体のメンバを使わないように直せないか、
検討してみたらいかがでしょうか?



この投稿にコメントする

削除パスワード

No.23534

Re:ファイル構造体についての質問
投稿者---tongari(2005/10/06 18:27:48)


>>もともとUNIXで記述されたソースをRedhat Linuxへ移行しています。
>>Redhat Linuxでは、_iobuf構造体のメンバ_flags, _cntなどstdio.h
>>で定義されていないためソースをコンパイルするとエラーが発生し、
>>悩んでいます。
>>
>>FILE構造体の実装を意識する必要がないということはもっと良い解決
>>策があるのでしょうか?
>>
>>宜しくお願い致します。
>
>通常は、FILE構造体のメンバを直接操作することなく、
>標準関数の範囲でプログラミングします。
>標準関数で出来ない場合は、APIなどを使用することもあります。
>
>まずは、そのFILE構造体のメンバを使わないように直せないか、
>検討してみたらいかがでしょうか?

アドバイス有難うございます。
試行錯誤やってみます。
どうも有難うございました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧