【发布时间】:2015-10-15 21:34:30
【问题描述】:
我有一个关于标准输入和将它读取的值放入数组的问题。我编写了代码,它会询问数组的大小和它想要输入的值。但是,我想知道是否有一种方法可以一起跳过这一切,只需从文本文件中读取标准输入。类似的东西
5
5 5 5 5 5
所以第一行是数组的大小,第二行是数组中的值。
这就是我所拥有的:
int size,y;
printf("Enter size of array: ");
scanf("%d",&size);
V->size=size;
V->item=malloc(size * sizeof(int *));
printf("size of array: %d\n",V->size);
for(int i =0 ;i < size; i++){
printf("Enter your value: \n");
scanf("%d", &y);
V->item[i]=y;
【问题讨论】:
-
所以你想从文件而不是标准输入中读取?
cat file | ./MyBinary会将cat的输出重定向到您的二进制输入。如果你想直接从你的程序中读取文本文件,你应该了解fopen()和fscanf()。 -
V->item = malloc(size * sizeof(int *));-->malloc(size * sizeof *(V->item));。当V->item[i]=y暗示需要int的数组时,代码似乎正在分配指针数组。 -
@chux 哇!忘记放最后 5 个了。