从txt文件中读取数据代替从控制台输入
在日常编写程序的时候,有些时候需要反复输入一大串的文字用来调试程序,每次调试都要重复输入,非常麻烦,本文展示一种,把数据写到txt文件中,通过文件来输入数据输入数据的调试方法。
需要输入的输入如图所示,每次输入岂不是累死?
直接上代码
代码主要功能: 获取两个数作为二维数组的行和列, 然后获取m行n列的数据, 存入二维数组
上图中,7为行,10为列,下面的数据表示7行10列的二维数组值.
#include <stdio.h>
int main() {
int m;//行
int n;//列
FILE *fp;//定义一个文件指针
fp=fopen("c:\\Users\\ruanw\\Desktop\\example.txt", "rt");//文本只读方式打开文件
//文件路径为 c:\Users\ruanw\Desktop\example.txt 反斜杠的作用是转义字符,\\表示\
//将文件指针重置到文件开头
rewind(fp);
//从文件读取数据并保存到数据
fscanf(fp, "%d", &m);//以整形的方式从fp文件指针指向的文件中获取一个数据,并存入m的内存中
fscanf(fp, "%d", &n);
int matrix[m][n];//定义一个二维数组
for ( int i = 0; i < m; i++ ) {
for( int j = 0; j < n; j++) {
fscanf(fp,"%d",&matrix[i][j]);//从文件中获取m行n列的数据赋值给二维数组
}
}
fclose(fp);//数据获取结束,关闭文件
for ( int i = 0; i < m; i++ ) {
for( int j = 0; j < n; j++) {
j==0 || printf(" ");
printf("%d",matrix[i][j]);
}
printf("\n");
}
return 0;
}