日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C++读取txt中数据的两种方法

發布時間:2025/3/15 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++读取txt中数据的两种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有時候,在程序編寫過程中涉及到數據的讀寫,比如讀入.txt文檔中的數字,本文提供兩種讀入方法。

一、利用數據流

比如.txt中數據是如下格式:



其中第一行代表有多少個二維數組,本例中是有3個二維數組,第二行代表每個二維數組有多少行,本例中二維數組的列數是固定不變的。那么如何讀取這些二維數組呢?

我的代碼如下:

#include<iostream> #include<stdlib.h> #include<stdio.h> #include<fstream>using namespace std;int main() {ifstream infile("example.txt");int num = 0;infile >> num;cout << num << endl;for (int i = 0; i < num; i++){int N = 0;infile >> N;cout << N << endl;int(*p)[5];//a pointer to a array which has 5 int p = new int[N][5];//creat a dynamic arrayfor (int j = 0; j < N; j++){infile >> p[j][0] >> p[j][1] >> p[j][2] >> p[j][3] >> p[j][4];cout << p[j][0] << p[j][1] << p[j][2] << p[j][3] << p[j][4] << endl;} delete [] p;//free space}int aaa;cin >> aaa;return 0; }

上述代碼首先讀入第一行數據,以確定二維數組個數num,然后利用for循環,依次讀入各個二維數組。在每個循環中,首先讀入每個二維數組的行數N,根據行數循環讀入二維數組的每一行。由于二維數組的行數是不確定的,所以涉及到動態二維數組的創建,在本例中,由于二維數組的列數是固定的,所以動態數組創建方法如下:

int(*p)[5];//a pointer to a array which has 5 int p = new int[N][5];//creat a dynamic array首先聲明一個數組指針p,該指針指向一個含有5個int變量的數組,然后利用new運算符申請空間,并將該空間的地址賦給指針p。在讀入數據并進行相關操作之后(本例中的操作只是簡單地輸出顯示),需要將動態申請的空間進行釋放,利用new申請的空間,采用delete進行釋放: delete [] p;//free space

改程序 的運行結果如下:

顯然,數據都得到了正確讀入。

二、利用c函數fopen

代碼如下:

#include<iostream> #include<stdlib.h> #include<stdio.h> using namespace std;int main() { FILE *f; f = fopen("example.txt", "r");//How files are used? r=we can only read the file if (f == NULL) { cout << "open file failed! the programmer will exit!" << endl; exit(-1); } int num = 0; fscanf(f, "%d\n", &num); cout << num << endl; for (int i = 0; i < num; i++) { int N = 0; fscanf(f, "%d\n", &N); cout << N << endl; int(*p)[5];//a pointer to a array which has 5 int p = new int[N][5];//creat a dynamic array for (int j = 0; j < N; j++) { fscanf(f, "%d %d %d %d %d\n", &p[j][0], &p[j][1], &p[j][2], &p[j][3], &p[j][4]); cout << p[j][0] << p[j][1] << p[j][2] << p[j][3] << p[j][4] << endl;} delete[] p;//free space } fclose(f); int aaa; cin >> aaa; return 0; }

與方法一一樣,該段程序的運行結果如下:



故利用以上兩種辦法都可以實現對于.txt文檔中數字的讀取。



總結

以上是生活随笔為你收集整理的C++读取txt中数据的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。