C/ c++流和文件



我有以下代码:

int checkCorrectness(int i,char *iStr)
{
   if(atoi(iStr) == i)
     return 1;
   return 0;
}
void foo(int i)
{
    printf("inside foo %dn",i);
}
void print()
{
    char mystring[100];
    freopen("myfile.txt","w+",stdout);
    for(int i =0;i < 100;++i)
    {
      foo(i);
      FILE *f = fopen("myfile.txt","r");
      if (f == NULL) perror ("Error opening file");
      else {
         while ( fgets (mystring , 100 , f) != NULL );
         if(!checkCorrectness(i,mystring);
            break;
         fclose (f);
      }
     }
    fclose(stdout);
}

此代码是否保存?我的意思是,在freopen被调用后,如果它的流没有被关闭,那么是否可以调用fopen ?谢谢你

你的代码看起来很安全。允许您在一个进程中多次打开同一个文件。文件描述符不会交互。

我会像你一样避免重新打开stdout。您可以使用一个fopen来完成整个程序,并避免您正在创建的混乱:查找fprintf!

相关内容

  • 没有找到相关文章

最新更新