質問: ファイルから図形を読み込んで拡大して表示する方法 初めまして、c言語のプログラミングについて質問させていただきます。 ファイルからデータを読み込む所を勉強しています。 そこで、ファイルから*で書いた図形を読み込み任意の倍数(2倍に指定したら2倍に、4倍なら4倍に)に拡大して、 ファイルに出力するプログラムを作ろうとしているのですが行き詰ってしまいました。 <ファイルから読み込む図形> ****** * * <出力結果(2倍指定の場合)> ************ ************ ** ** ** ** for文で回して配列を操作する様な事は分かるのですが、なかなか上手くいきません。 参考になるサイトでも良いので、ご助力ください。 よろしくお願いします。
回答: 下記でどうでしょう? (インデントは全角を使用してます。) #include file *fp; /* ファイルポインタ */ #define bufflen 1024 int main( int argc,char *argv[]){ int i; int j; int k; int times; char s[bufflen]; times = atoi (argv[1]); if ((fp = fopen("in.txt", "r")) == null) { return 1; } /* 1行単位で読み出し */ while (fgets(s, bufflen, fp) != null) { /* 縦方向の繰り返し*/ for ( i = 0 ; i < times ; i ++ ){ /* 横方向の繰り返し*/ for ( j = 0 ; s[j] != '\n' ; j ++ ){ /* 指定回数繰り返し*/ for ( k = 0 ; k < times ; k ++ ){ putchar((int)s[j]); } } putchar('\n'); } } fclose(fp); return 0; }