Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在未关闭的文件指针中打开文件_C_File Pointer - Fatal编程技术网

C 在未关闭的文件指针中打开文件

C 在未关闭的文件指针中打开文件,c,file-pointer,C,File Pointer,是否可以在已打开但未关闭的fopen命令中使用fopen函数打开文件?如果我真的需要这样做的话,结果会是什么呢 样本: . . 根据我代码的这一部分,我发现信息传输不正确。 我的猜测是:这可能是缓冲区或嵌套文件打开过程的问题 谢谢 为什么不使用“倒带”将文件指针重置为开头。“你不能打开一个已经打开的文件。@Brandin谁告诉过你不能打开一个已经打开的文件?打开一个已经打开的文件没有什么错。”。但是,不要在这里这样做,因为没有必要。注意!有两个文件指针,l_file_ptr和file_ptr。

是否可以在已打开但未关闭的fopen命令中使用fopen函数打开文件?如果我真的需要这样做的话,结果会是什么呢

样本: . .

根据我代码的这一部分,我发现信息传输不正确。 我的猜测是:这可能是缓冲区或嵌套文件打开过程的问题


谢谢

为什么不使用“倒带”将文件指针重置为开头。“你不能打开一个已经打开的文件。@Brandin谁告诉过你不能打开一个已经打开的文件?打开一个已经打开的文件没有什么错。”。但是,不要在这里这样做,因为没有必要。注意!有两个文件指针,l_file_ptr和file_ptr。l_file_ptr保持打开状态,直到第二个文件指针file_ptr完成读取。最后l_文件\u ptr关闭。谢谢Brandin!,我根据你提到的想法解决我的问题。
l_file_ptr = fopen (l_inp_file, "r");
if (l_file_ptr == 0)  fatal_err("Could not open l_inp_file", -1);
    for (n_sph = 0; n_sph < num_sph; n_sph++) 
    {
       sph = &objects[n_sph];
       fscanf (l_file_ptr, "%d %le", &sph->num_surface_node, &sph->r_c);

       sph->surfnode = (struct nodalpoint *) calloc(num_sursph, sizeof(*(sph->surfnode)));
          if (sph->surfnode == 0 ) fatal_err("cannot allocate boundary nodes", -1);
            file_ptr = fopen (s_inp_file, "r");
            if(file_ptr == 0)  fatal_err("Could not open s_inp_file", -1);
               for (n_surp = 0; n_surp < num_sursph; n_surp++)   
               {
               fscanf (file_ptr, "%le",&sph->surfnode[n_surp].x);
               }
            fclose (file_ptr);
            file_ptr = 0;
   }
   fclose (l_file_ptr);
   l_file_ptr = 0;