【问题标题】:c-function fprintf variable file pointerc-function fprintf 变量文件指针
【发布时间】:2015-06-22 11:17:10
【问题描述】:

我有多个文件指针。在循环期间,我想将某些内容打印到某个文件中。哪个文件取决于循环传递。

fprintf(stream,"v   t \n");

使用“流”我选择文件。是否可以将某个数组元素作为流传递?

例如:

FILE *vx;
FILE *vy;
FILE *vz;

vx=fopen("vx.txt","w");
vy=fopen("vy.txt","w"); 
vz=fopen("vz.txt","w");

pointer[]={vx,vy,vz};

while(n<4)
{
    funck(n, k, v, w, h);
    fprintf(pointer[n-1],"v t \n");
    n+=1;
}

是否可以将文件指针保存在数组中?这是一个好的解决方案吗?

【问题讨论】:

  • 指针数组(固定大小和动态分配的)非常常见,只需查看main 函数参数即可找到。
  • 但是数组应该有什么数据类型呢?
  • FILE *pointer[] = {vx, vy, vz}; 或 FILE *pointer[3]; pointer[0] = vx; pointer[1] = vy; pointer[2] = vz;

标签: c file pointers printf


【解决方案1】:

是的,这是可能的,只要您将FILE * 类型的变量传递给fprintf()。

数组类型必须是 FILE* 类型,因为数组存储指向引用的 FILE 对象 (FILE*) 的指针。

如果您使用指针,则指针的类型必须是 FILE**,因为它是指向引用的 FILE 对象 (FILE*) 的指针 (*)。

【讨论】:

    【解决方案2】:

    是的,这是可能的。使用 FILE * 键入您的数组。

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 1970-01-01
      • 2014-12-04
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      相关资源
      最近更新 更多