组合两个文件并在C中将数据相邻放置

组合两个文件并在C中将数据相邻放置,c,C,此代码是两个文本文件的组合 #include <stdio.h> #include <stdlib.h> int main() { FILE *movieyear; char year[90]; movieyear = fopen("Lecture 07 - Movie Data - Year.txt", "r"); FILE *moviedata; char data[90]; moviedata = f

此代码是两个文本文件的组合

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

int main() {
  FILE *movieyear;
  char year[90];
  movieyear = fopen("Lecture 07 - Movie Data - Year.txt", "r");
  FILE *moviedata;
  char data[90];
  moviedata = fopen("Lecture 07 - Movie Data - Releases.txt", "r");
  FILE *NEWdata;
  char DData;
  NEWdata = fopen("Movieinfo.txt", "w");
  if (movieyear == NULL || moviedata == NULL) {
    printf("Error opening file\n");
    return (-1);
  }
  if (NEWdata == NULL) {
    printf("Error opening file\n");
    return (-1);
  }

  while ((DData = fgetc(movieyear)) != EOF) {
    fputc(DData, NEWdata);
  }
  while ((DData = fgetc(moviedata)) != EOF) {
    fputc(DData, NEWdata);
  }

  fclose(movieyear);
  fclose(moviedata);
  fclose(NEWdata);
  return 0;
}
我期望的结果是:

Star Wars: Episode VII - The Force Awakens 
2015
Avengers: Endgame 
2019
Avatar 
2009
Black Panther 
2018
Avengers: Infinity War 
2018
Titanic 
1997
Jurassic World 
2015
Marvel's The Avengers 
2012
Star Wars: Episode VIII - The Last Jedi 
2017
Incredibles 2 
2018
这个

很明显,我们会先输出所有年份,然后输出所有标题


您需要的是一个同时输出年份和标题的单循环。

修复代码缩进。是否有错误,或者这对您编码有帮助吗?@will:这是一个逻辑错误。步骤1:
char-DData-->
int-DData
@chux花了时间和精力为您重新格式化代码。注意到它是多么容易阅读吗?这应该是你做的第一件事,而不是最后一件。我试着把它结合起来,但我仍然有困难。我不知道在哪里可以把它结合起来。嗯,你可以试着填充那些年份和数据数组,并使用它们。目前,它们只是闲置在那里。它应该用相应的数组替换DData吗?
Star Wars: Episode VII - The Force Awakens 
2015
Avengers: Endgame 
2019
Avatar 
2009
Black Panther 
2018
Avengers: Infinity War 
2018
Titanic 
1997
Jurassic World 
2015
Marvel's The Avengers 
2012
Star Wars: Episode VIII - The Last Jedi 
2017
Incredibles 2 
2018
while((DData = fgetc(movieyear)) != EOF){
    fputc(DData,NEWdata);
}

while((DData = fgetc(moviedata)) != EOF){
    fputc(DData,NEWdata);
}