【fputs】...)==NULL){printf(""cannotopen\n"");exit(0);}gets(name);fputs(...

发布时间:2021-03-21 02:04:33

【fputs】...)==NULL){printf(""cannotopen\n"");exit(0);}gets(name);fputs(...

网友回答

【答案】 fclose写成flose了!
  gets有溢出风险,可改成fgets.
  改法见注释:
  #include
  #include
  main()
  {
  FILE *fp;
  char str[81],name[10];
  gets(name);
  if((fp=fopen(name,w))==NULL)
  {
  printf(can not open\n);
  exit(0);
  }
  gets(name); /* 这里改成 fgets(name,sizeof(name),stdin); */
  fputs(str,fp);
  flose(fp); /* 这里写错了!应该是fclose(fp); */
  if((fp=fopen(name,r))==NULL)
  {
  printf(canfhhkjadf\n);
  exit(0);
  }
  fgets(str,strlen(str)+1,fp);
  printf(oiehjhsdhfkjdf\n);
  puts(str);
  fclose(fp);
  }
以上问题属网友观点,不代表本站立场,仅供参考!