使用C中的变量文件名从多个具有相似名称的文件中读取?

时间:2015-11-29 02:23:20

标签: c file syntax

我有多个文件名为sensor0.txt,sensor1.txt,sensor2.txt等。我需要打开这些文件,用它们进行计算,然后在屏幕上打印它们。

所以我想到了类似的东西,

for(i = 0; i < N/*(Number of files)*/; i++)
{
 fpointer = fopen(/*not sure how to format this*/)
 //calculations I need to perform with said file
 //Print results of calculations on the screen
 }

我无法找到直接的解决方案。这甚至可能吗?或者我必须创建一些数组并存储所有信息,然后使用所有存储的信息进行计算。

2 个答案:

答案 0 :(得分:3)

  1. 使用字符数组存储文件名。
  2. 使用i
  3. 的值创建文件名
  4. 在for循环中打开文件并阅读内容。
  5. char filename[50]; // Make it large enough
    for(i = 0; i < N/*(Number of files)*/; i++)
    {
       // Construct the filename.
       sprintf(filename, "sensor%d.txt", i+1);
    
       // Open the file.
       fpointer = fopen(filename, "r");
       if (fpointer != 0)
       {
          //calculations I need to perform with said file
          //Print results of calculations on the screen
          fclose(fpointer);
       }
    }
    

答案 1 :(得分:1)

使用 sprintf 功能创建文件名。例如:sprintf(filename, "%s%d.txt", "sensor", number)。之后,通常使用此名称打开文件