c - 将文件中的数字扫描到二维数组中

标签 c

我是编程新手,所以如果我搞砸了任何事情,我深表歉意。

所以我试图扫描一个包含多行数字的文件并将它们放入一个二维数组中。我已经尝试查看与此相关的其他问题,但到目前为止没有任何效果。

所以我尝试使用嵌套循环扫描数组并将数字放入其中,但似乎什么也没发生。 txt文件里面是这样的:

0 7 9 4 0 0 8 0 4 5 0 1 
0 2 4 0 0 0 1 6 2 8 6 0 
0 1 1 1 1 0 8 5 6 8 0 7 
0 5 1 0 0 0 1 3 8 1 0 1 
Every 12th number is a new line.

#include <stdio.h>

#define BUF_SIZE 12
#define ROW 4
#define COL 12
void
barcodeArray(int barcode[ROW][COL])
{
  char buffer[BUF_SIZE];
  FILE* f = fopen("q5_input.txt","r");
  if(f == NULL)
  {
    printf("no such file.");
  }
  for(int k = 0; k < ROW; k++)
  {
    for(int j = 0; j < COL; j++)
    {
      fscanf(f, "%1d", &barcode[k][j]);
      printf("%ls", &barcode[k][j]);
    }
  }
  fclose(f);
}
int
main(void)
{
  int barcode[ROW][COL];
  barcodeArray;
}

for 循环中的 printf 只是在将数字输入数组时读回数字。正如代码一样,它编译但不执行任何操作。

最佳答案

您必须使用参数调用您的函数 barcodeArray(barcode);

编辑:如果您不确定数组的大小,可以查看动态分配的变量。这是C编程的重要组成部分

关于c - 将文件中的数字扫描到二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56994989/

相关文章:

c - 在C中将椭圆绘制成矩形

c - K&R 代码在 VS2012 中不起作用

c - 反转中缀表达式中的运算符优先级

c - 声明 "int t[0];"的作用是什么?

c - 安全地从 struct sockaddr 转换为 struct sockaddr_storage

c - 通过 shell (cat) 或通过程序 (fread) 读取 proc 文件的区别

c - 使用 XOR 属性找出数组中修改的元素

c - C 中的 strcat 函数

c - 扩大 'zoul' 的堆大小

c - shell 排序随机 float 组不起作用