c++程序读取txt文件并将文件中的数据导入数组
时间: 2023-05-26 08:02:33 浏览: 208
以下是一个示例程序,读取指定的文本文件,将每一行数据转换为整数并存储进数组中:
```c
#include <stdio.h>
#define MAX_SIZE 1000 // 数组最大长度
int main() {
int array[MAX_SIZE]; // 定义数组
int n = 0; // 数组内元素个数
FILE* fp = fopen("data.txt", "r"); // 打开文件
if (fp == NULL) { // 打开失败
printf("Failed to open file.\n");
return -1;
}
char line[100]; // 缓存读入的每一行数据
while (fgets(line, 100, fp) != NULL) { // 读取每一行数据
int num = atoi(line); // 将字符串转换为整数
array[n++] = num; // 存入数组
}
fclose(fp); // 关闭文件
// 输出数组内数据
printf("Array contents:\n");
for (int i = 0; i < n; i++) {
printf("%d ", array[i]);
}
printf("\n");
return 0;
}
```
相关问题
c++数组从文本文件中导入数据
要从文本文件中导入数据到C++数组,可以按照以下步骤:
1. 打开文本文件并读取数据;
2. 将数据逐行存储到一个字符串变量中;
3. 将字符串变量转换为数值类型,并将其存储到数组中。
以下是一个示例代码,假设我们有一个名为data.txt的文本文件,其中包含了10个整数,每个整数一行:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int data[10]; // 定义一个包含10个整数的数组
string line;
int i = 0;
// 打开文本文件
ifstream file("data.txt");
// 逐行读取数据并存储到数组中
while (getline(file, line))
{
data[i] = stoi(line);
i++;
}
// 输出数组中的数据
for (int j = 0; j < 10; j++)
{
cout << data[j] << " ";
}
return 0;
}
```
运行该程序后,将输出数组中的10个整数。注意,上述代码中使用了C++标准库中的ifstream和getline函数来读取文本文件中的数据,并使用了stoi函数将字符串转换为整数。
如果要用c++读取一个txt文件导入二维数组,应该怎么编辑这个txt文件’
在C++中,如果你想从一个TXT文件中读取数据并将其导入到二维数组中,首先你需要确保TXT文件的格式是每行包含一组用空格分隔的数据,对应于二维数组的一行。例如,如果二维数组是int类型的,而数组大小为3x4,那么文件内容应该像这样:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
然后,你可以编写一个简单的程序来读取这些数据。这里是一个基本的示例:
```cpp
#include <fstream>
#include <vector>
#include <sstream>
std::vector<std::vector<int>> readDataFromTXT(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
throw std::runtime_error("Failed to open the file");
}
std::vector<std::vector<int>> data;
std::string line;
while (getline(file, line)) {
std::istringstream iss(line);
std::vector<int> row;
for (int i = 0; i < 4; ++i) { // 假设每行有4个元素
int cell;
if (!(iss >> cell)) break; // 检查是否成功读取
row.push_back(cell);
}
if (!row.empty()) data.push_back(row); // 如果一行数据完整,则添加到二维数组
}
file.close();
return data;
}
int main() {
try {
std::vector<std::vector<int>> array = readDataFromTXT("example.txt"); // 替换为你实际的文件名
// 现在array包含了从TXT文件读取的数据
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
在这个例子中,`readDataFromTXT`函数打开文件、逐行读取,并将每行转换成一个整数向量,最后把这些向量放入一个二维数组中。
阅读全文