【发布时间】:2016-02-11 19:54:54
【问题描述】:
- 我正在尝试创建一个函数来读取文件
- 它应该计算 rows 和 columns
- 将全局变量设置为新读入的行和列
我的问题是我可以读取行,但我似乎无法正确读取列。
文件: http://collabedit.com/qjytg
谁能帮忙>
matrix:
#########
# #
# #
# #
# #
#########
#include <stdio.h>
void read_file(const char *file_name);
size_t rows = 10;
size_t cols = 20;
int main(int argc, char *argv[]) {
//function call
}
void read_file(const char *file_name) {
FILE *myfile = fopen(file_name, "r");
int newRows = 0;
int newCols = 0;
char ch;
while(!feof(myfile)) {
ch = fgetc(file);
if(ch == '\n') {
newRows++;
} else {
newCols++;
}
}
rows = newRows;
cols = newCols;
}
【问题讨论】:
-
你能指定你想读入的文件的格式吗?用什么分隔列?
-
它们正是上面显示的矩阵的方式。 --> 我会附上一个文件
-
请阅读一些书籍(见stackoverflow.com/questions/388242/…)。我觉得,回答这个问题不好。
-
当您开始阅读新行时,您不会将列设置回 0。
-
我建议你阅读一些现有的examples on stack overflow。结果是在网上搜索“stackoverflow c++读取文件矩阵”找到的。