[2032] C言語ポインタ完全制覇 第1版 4-2-1 可変長配列の配列についての質問
投稿者:884
2017/12/06 13:57:34
はじめまして。
現在、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;
}
---------------------------------