前提・実現したいこと
ファイルdarafile.txtからデータ行を順に読み込み、それらのデータ行を逆順でファイルに再び書き込むために用いられている。
全ての行に長さは200字以下に限定されていることに注意すること。
「ソースコード1に初期状態の問題、ソースコード2に穴埋め後の問題を張っておきます。」
発生している問題・エラーメッセージ
穴埋め問題なのですが、逆順にするプログラムを(4)(13)に入力するはずなのですが、そのグラムが分かりません。どうしたらよいでしょうか?
該当のソースコード
C言語
ソースコード1
#include<stdio.h>
(1)
(2)
/--------------------------------------------------/
int main(void)
{
char D[100]; /データ行を格納する変数/
int n; /実際に存在している行の本数/
n = read_lines(D);/データをファイルから入力/
store_lines(D, n);/データをファイルに出力/
return (0);
}
/---------------------------------------------------*/
int read_lines(char *A[])
{
FILE fp;
char c, i = 0;
(3)............
do {
(4)............
c = fgets((5)....., (6)......, (7)......);
i++;
} while ((8).....);
fclose(fp);
return ((9)......);
}
/------------------------------------------------------/
void store_lines((10)........., (11).............)
{
FILE *fp;
char *c, i;
(12).......
(13).......
fputs((14).....(15).....);
fclose(fp);
}
ソースコード2
#include<stdio.h>
int read_lines(char a[]);
void store_lines(char b[], int c);
/--------------------------------------------------/
int main(void)
{
char D[100]; /データ行を格納する変数/
int n; /実際に存在している行の本数/
n = read_lines(D);/データをファイルから入力/
store_lines(D, n);/データをファイルに出力/
return (0);
}
/---------------------------------------------------*/
int read_lines(char *A[])
{
FILE *fp;
char c, i = 0;
fopen_s(&fp, "datafile.txt", "r");
do {
c = fgets(A,100-1,fp);
i++;
} while (i != EOF);
fclose(fp);
return (i-1);
}
/------------------------------------------------------/
void store_lines(char *b[], int n)
{
FILE *fp;
char *c, i;
*c = n;
fopen_s(&fp, "datafile.txt", "a");
fputs(c,fp); fclose(fp);
}
試したこと
穴埋問題なので、新たに箱を用意することもインクルードすることもできないため、自分ではどうにもできないです。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2017
あなたの回答
tips
プレビュー