c++读取每行格式为“30.4604325443 114.4725046685 23.000”的txt,并存入三个数组
时间: 2024-05-11 19:13:53 浏览: 11
以下为Python代码实现:
```python
with open('data.txt', 'r') as f:
lines = f.readlines()
lon = []
lat = []
alt = []
for line in lines:
line = line.strip()
if line:
fields = line.split()
lon.append(float(fields[0]))
lat.append(float(fields[1]))
alt.append(float(fields[2]))
```
首先,使用`with`语句打开文件`data.txt`,并读取所有行保存到变量`lines`中。然后,分别定义三个空数组`lon`、`lat`和`alt`,用于存储经度、纬度和高度数据。
接下来,使用`for`循环遍历每一行数据。每次读取一行后,使用`strip()`方法去掉字符串两端的空格和换行符。如果当前行不为空,就使用`split()`方法将其分割成三个字段,分别读取经度、纬度和高度数据,并将它们转换成浮点数类型后分别添加到`lon`、`lat`和`alt`数组中。
最终,三个数组中分别存储了所有读取的经度、纬度和高度数据。
相关问题
用c++编程,读取一个A000.txt文档,将文档的数据读入数组a[]中
好的,我可以回答这个问题。以下是读取一个A000.txt文档并将数据读入数组a[]中的c代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
int a[1000], i = 0;
fp = fopen("A000.txt", "r");
if (fp == NULL) {
printf("File not found!\n");
return 0;
}
while (fscanf(fp, "%d", &a[i]) == 1) {
i++;
}
fclose(fp);
return 0;
}
```
在这段代码中,我们首先打开文件A000.txt,如果文件不存在则输出错误信息并结束程序。然后我们使用循环读取文件中的每一个整数,并将它们存入数组a[]中。最后,我们关闭文件并结束程序。
C++实现,依次读取time.txt和data.txt两个文件中第一行数据,并拼接起来
好的,可以参考以下代码实现:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::string time_data, data_data;
// 读取 time.txt 文件中第一行数据
std::ifstream time_file("time.txt");
if (!time_file.is_open()) {
std::cerr << "Failed to open time.txt!" << std::endl;
return 1;
}
std::getline(time_file, time_data);
time_file.close();
// 读取 data.txt 文件中第一行数据
std::ifstream data_file("data.txt");
if (!data_file.is_open()) {
std::cerr << "Failed to open data.txt!" << std::endl;
return 1;
}
std::getline(data_file, data_data);
data_file.close();
// 拼接两个字符串
std::string result = time_data + data_data;
std::cout << result << std::endl;
return 0;
}
```
其中,`std::getline(file, str)` 按行读取文件并返回每一行的字符串,`time_file.close()` 和 `data_file.close()` 分别关闭文件,`result = time_data + data_data` 将两个字符串拼接起来并存储在 `result` 中。