以下のメッセージを削除します。


[2032] C言語ポインタ完全制覇 第1版 4-2-1 可変長配列の配列についての質問
返信


投稿者:884
2017/12/06 13:57:34

Link:
はじめまして。

現在、C言語ポインタ完全制覇 第1版で学習しています。

4-2-1 可変長配列の配列で疑問があり、質問させていただきます。

List4-5 read_slogan.cで、

read_slogan(stdin, slogan);

のstdinは、キーボードの入力と考えていますが、何を入力すればよいでしょうか。
1週間分の標語ファイル(.txt)を読み込ませたいのですが、うまくいきません。

ご教示お願いいたします。

---------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void read_slogan(FILE *fp, char **slogan)
{
    char buf[1024];
    int  i;

    for (i = 0; i < 7; i++) {
        fgets(buf, 1024, fp);

        /* 改行文字を削除 */
        buf[strlen(buf)-1] = '\0';

        /* 標語ひとつ分の領域を確保 */
        slogan[i] = malloc(sizeof(char) * (strlen(buf) + 1));

        /* 標語の内容をコピー */
        strcpy(slogan[i], buf);
    }
}

int main(void)
{
    char *slogan[7];
    int i;

    read_slogan(stdin, slogan);

    /* 読み込んだ標語を表示する */
    for (i = 0; i < 7; i++) {
        printf("%s\n", slogan[i]);
    }

    return 0;
}

---------------------------------

パスワード:

管理者削除