コマンドストリームを読み込もうとしていますが、問題またはセグメント化エラーがコンパイルされています。私は私の構造体command_stream内のメンバーにアクセスしたいと思いますが、私はそれを実行すると、 "構造体または共用体ではないメンバーstream 'の要求:エラーまたはセグメント化エラーが発生します。私のコードはこのように見えます。エラー:構造体または共用体ではないメンバー 'ストリーム'を要求します。
typedef struct command_stream *command_stream_t;
struct command_stream
{
int stream[100];
int test;
};
//get_next_byte is function that returns next byte in stream
//get_next_byte_argument is pointer to FILE
command_stream_t
make_command_stream (int (*get_next_byte) (void *),void *get_next_byte_argument)
{
command_stream_t * ptr = checked_malloc(sizeof(struct command_stream));
int c;
int count = 0;
while((c = get_next_byte(get_next_byte_argument)) != EOF)
{
//(*ptr)->stream[0] = 0;
//(*ptr)->test = 0;
//ptr->test = 0;
//ptr->stream[count] = c;
count++;
break;
}
return 0;
}
/////////////////////
checked_mallocは、本質的にmalloc関数である関数です。 get_next_byteは基本的にgetcで、ファイル内の次の文字を取得します。 問題はptrから発生しています。 ptr-> testまたはptr-> stream [count]を実行しようとすると、構造体または共用体ではないメンバーのストリーム要求がエラーになります。 (* ptr) - > stream [0]または(* ptr) - > testを試しても、コンパイルエラーはありませんが、セグメント化エラーが発生します。どうしましたか?
コンパイルするかどうか、どちらですか?あなたが言った "しかし、私はエラーを取得するか...またはセグメンテーションフォールト" –