C++把txt文件读到二维数组

阅读: 评论:0

C++把txt文件读到二维数组

C++把txt文件读到二维数组

有一部分参考了这篇文章:.html,就是判断文件结束有问题查阅教材进行了调整,感谢

两个函数,一个已知文件的行和列,一个不知道行和列,看函数名就清楚了
其中&#存放距离矩阵,内容见我的另一篇博客:

#include <iostream>
#include <fstream>using namespace std;#define MAX_NODE 100int n1, n2; // 分别表示矩阵的行和列int main(int argc, char* argv[]){int** readTxtToArrayKnowRowAndColumn(const char* strPath, int m, int n);int** readTxtToArrayWithoutKnowRowOrColumn(const char* strPath);void printArray(int **a, int m, int n);cout << "read data" << endl;// int** m = readTxtToArrayKnowRowAndColumn(&#", 9, 9); // 假设知道文件的行数和列数int** m = readTxtToArrayWithoutKnowRowOrColumn(&#");     cout << "行数: " << n1 << ", 列数: " << n2 << endl;printArray(m, n1, n2);return 0;
}int** readTxtToArrayWithoutKnowRowOrColumn(const char* strPath){int** a = new int* [MAX_NODE];for(int i = 0; i < MAX_NODE; i++){a[i] = new int[MAX_NODE];}int nTmp = 0;n1 = 0;n2 = 0;ifstream is(strPath);if(!is){cout << "open file error!" << endl;}else{char p;int num;int j = 0;(p)){ // 判断是否到达文末do{if(p == 'n'){n1++; // 统计行数if(n2 == 0){n2 = nTmp; // 实际上只统计了第一行的列数}j = 0;// cout << endl; // 一行之后输出一个回车符}}while(isspace((int)p) && is.get(p));if(!is)break;nTmp++; // 统计列数is.putback(p); // 如果前面读入的不是空格或者回车符,则把刚才读入的字符返回文件流is >> num;// cout << num << "t";a[n1][j++] = num;}     }is.close();return a;
}int** readTxtToArrayKnowRowAndColumn(const char* strPath, int m, int n){int** a = new int* [MAX_NODE];for(int i = 0; i < MAX_NODE; i++){a[i] = new int[MAX_NODE];}ifstream is(strPath);for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){is >> a[i][j];}}n1 = n2 = 9;is.close();return a;
}void printArray(int** a, int m, int n){for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){cout << a[i][j] << "t";}cout << endl;}
}

本文发布于:2024-01-29 00:43:46,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646023111485.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数组   读到   文件   txt
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23