我正在尝试创建一个程序,该程序从先前创建的文件中读取文本,将其反转,然后写入另一个文件。我现在拥有的代码允许我反转单个单词,但是只要有空格或段落就停止。我可以使用一些帮助来解决此问题。这是我到目前为止的代码:

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

int main()
{
  int c, d;
  FILE *fich1, *fich2;
  char string [100], *inicio, *fim, tempo;

  fich1 = fopen("FicheiroInicial.txt", "rt");
  if (fich1 == NULL)
    {
      printf ("Erro - Nao foi possivel abrir o ficheiro\n");
      return (-1);
    }
  fscanf (fich1, "%s", string);
  fclose (fich1);
  inicio = string;
  fim = inicio + strlen(string) - 1;

  while (fim > inicio)
    {
      tempo = *inicio;
      *inicio = *fim;
      *fim = tempo;

      ++inicio;
      --fim;
    }

  fich2 = fopen("FicheiroFinal.txt", "wt");
  fprintf (fich2, "%s", string);
  fclose (fich2);
  printf ("%s", string);

  return 0;
}


提前致谢!

最佳答案

我相信fscanf()一次只会给您一个字。您将需要对其进行迭代,直到返回EOF(文件末尾)

10-05 23:00