求助:关于c的从文件读取的编法。

happysun 2001-02-10 11:49:00
各位大虾:
你们好我有一个紧急问题。如果一个程序原本是从键盘中输入,如:参数个数,(for循环)输入每一个的价格,现要求从一个文件中读入,即:只需输入文件名,文件中有参数个数,它的价格。
这样该如何编?另外文件中该如何写呢?tc如何知道这就是个数,那就是价格呢?我用的是TC 2.0。希望各位帮帮我这位小女子!
谢谢!!!!!
...全文
158 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonepeter 2001-02-12
  • 打赏
  • 举报
回复
你是不是要这个,这个更加简单一点!

运行示例:
D:\BC31\BIN>data02
Please input the filename:datafile.txt
1 2 3 4
2 4 6 8
4 5 7 9
源代码:
// Data02.c.
//

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
//use for cycle
int i,j;
//define the data
int rows,cols;
int **mydata;

//for open file use
char filename[60]; //
FILE *input;

printf("Please input the filename:");
scanf("%s",filename);

if( (input=fopen(filename,"rt")) != NULL )
{
fscanf(input,"%d%d",&rows,&cols);
mydata = (int**)malloc(rows*sizeof(int*));
for(i=0; i<rows; i++) mydata[i] = (int*) malloc(cols*sizeof(int));

for(i=0; i<rows; i++)
{
for(j=0; j<cols; j++)
{
fscanf(input,"%d",&(mydata[i][j]));
printf("%d ",mydata[i][j]);
}
printf("\n");
}
}
else
printf("Input file open error!");


return 0;
}
hyqryq 2001-02-11
  • 打赏
  • 举报
回复
这个应该很简单吧!
stonepeter(笨笨石头) 已经说的很明白了!

具体那里有问题可以问呀!
happysun 2001-02-11
  • 打赏
  • 举报
回复
我用的是tc,没有看懂你的程序,还能在指点我一下吗?
stonepeter 2001-02-10
  • 打赏
  • 举报
回复
一个例子程序,如果合适请说。

文件内容:
"datafile.txt"
3 4
1 2 3 4
2 4 6 8
4 5 7 9

运行示例:
D:\BC31\BIN>data_f.exe datafile.txt
1 2 3 4
2 4 6 8
4 5 7 9

------------------------------------------------------------------------------
------------------源代码(有许多废话,希望有用!)----------------------------
/* "data_f.c" code by StonePeter 2001.2.9 AdaptView.Inc */
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
//use for cycle
int i,j;
//define the data
int rows,cols;
int **mydata;

//for open file use
FILE *input;

if(argc <= 1)
/*NOTES FROM MSDN
argc
An integer specifying how many arguments are passed to the program
from the command line. Because the program name is considered an
argument, argc is at least 1.
*/
printf("Hello World!\n");
else
{//Input datas from file
//Try to open the file and check open OK or NOT!
//Input the data from the datafile "datafile.txt"
/*NOTES FORM MSDN
argv
An array of null-terminated strings.
It can be declared as an array of pointers to char (char
*argv[ ] ) or as a pointer to pointers to char (char **argv).
The first string (argv[0]) is the program name,
and each following string is an argument passed to the
program from the command line. The last pointer (argv[argc])
is NULL.
*/
if( (input=fopen(argv[1],"rt")) != NULL )
{
fscanf(input,"%d%d",&rows,&cols);
mydata = (int**)malloc(rows*sizeof(int*));
for(i=0; i<rows; i++) mydata[i] = (int*) malloc(cols*sizeof(int));

for(i=0; i<rows; i++)
{
for(j=0; j<cols; j++)
{
fscanf(input,"%d",&(mydata[i][j]));
printf("%d ",mydata[i][j]);
}
printf("\n");
}
}
else
printf("Input file open error!");

}

return 0;
}
--------------------------源代码over了,高手们一定不要笑话我-------------------
-----------------------这只是一个例子面已,我已经好久不写程序了----------------
-------------------------------------------------------------------------------
golden_silence 2001-02-10
  • 打赏
  • 举报
回复
文件的内容是什么?说来听听,再考虑文件内容的格式

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧