2016-02-28 53 views
-1

我需要家庭作业帮助。我正在编写一个程序,用于读取两个带有数字(.txt文件)的输入文件。这些文件将是矩阵;但我不知道如何扫描文件的第一行来确定矩阵的尺寸。如果有人能帮助我,我将不胜感激,这样我就可以继续我的其他计划。谢谢!扫描第一行.txt文件以确定矩阵尺寸

+0

使用'fscanf' ... – BLUEPIXY

+0

欢迎堆栈溢出。您能否上传迄今为止您所拥有的相关样本?我鼓励你参加[tour](http://stackoverflow.com/tour)并访问[help center](http://stackoverflow.com/help)获取有关询问[好问题](http: //stackoverflow.com/help/how-to-ask)在这个网站上。 – McMath

+0

感谢您的帮助!我已经上传了一些我有的东西。 txt文件中的数字为:3 3新行1 2 3新行4 5 6新行7 8 9.开头的3 3假设为矩阵的维数。 – SBrg

回答

1

如果矩阵尺寸存储为十进制整数,这个阅读:

int rows, cols; 
FILE *file = fopen("inputfile.txt", "r"); 

if (file == NULL) { 
    // error, cannot open the file 
    return 1; 
} 

if (fscanf(file, "%d%d", &rows, &cols) != 2) { 
    // error, cannot parse 2 integers 
    return 2; 
} 

你如何分配矩阵,并解析其内容取决于为元素指定的类型。你应该从本地的朋友那里寻求帮助,因为你似乎没有完成这项功课所需的技能。

编辑:在你的代码,你应该定义为iint允许EOF检测中的经典读循环:

int i; 
while ((i = fgetc(inputfileptr)) != EOF) 
    printf("%c", i); 
+0

@SBrg:请问为什么你不再接受这个答案? – chqrlie