读取并合并两个不同文件中的特定列
Reading and merging specific columns from two different files
我正在尝试读取两个不同文件的第三列中的特定行,并将它们合并到一个有两列的文件中。具体来说:我想读取文件1中的第9行(17+2*139)和文件2中的第(17+2*339)行(结束)。下面是我写的代码。它只输出第一个文件的结果:
int main() {
std::ifstream outfile_LD("outfile_LD.dat");
std::ifstream outfile_LE("outfile_LE.dat");
std::string line_LD;
std::string line_LE;
int count = 0;
if (!outfile_LD || !outfile_LE) {
std::cout << "Error opening file" <<
(outfile_LD? 2: 1) << ": " <<
strerror(errno) << "n";
return 1;
}
while (outfile_LD || outfile_LE)
{
count++;
if (std::getline(outfile_LD, line_LD) && std::getline(outfile_LE, line_LE)) {
if (count < 17 + 2*139) {
if (count < 8) {
continue;
} else {
double pedid_LE, lnlike_LE, log10like_LE;
outfile_LE >> pedid_LE >> lnlike_LE >> log10like_LE;
std::cout << log10like_LE << "t";
}
} else {
double pedid_LD, lnlike_LD, log10like_LD;
outfile_LD >> pedid_LD >> lnlike_LD >> log10like_LD;
std::cout << log10like_LD;
}
}
std::cout << endl;
}
return 0;
}
我认为问题出在这一行
if (std::getline(outfile_LD, line_LD) && std::getline(outfile_LE, line_LE))
当第一个文件被读取时,它返回false。因此&&
将返回false,并且在处理第二个文件时会得到很多NL。尝试使用||
操作
但我会在不同的循环中读取第一个文件,然后读取第二个文件。另一方面,我认为应该读取第一个块outfile_LD,然后读取outfile_LE。在您的代码中,它似乎是混合的。
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 两个文件使用彼此的功能-如何解决
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 结构包含在两个头文件中,这两个文件我都不拥有
- Levenshtein 两个文件的距离花费了太多时间
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 在 txt 文件中显示前两个数字的程序
- 在 c++ 中从文本文件中读取两个十六进制值
- 将两个 cpp 文件合并为一个 cpp 文件
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- 两个线程一个使用流 Api,另一个线程创建文件失败并出现错误ERROR_SHARING_VIOLATION
- 比较两个没有一行共同点的大文件
- 在两个.cpp文件之间定义全局类/结构指针
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 如何在c ++中以一行(水平)打印两个文件的数据?如给定的.这两种形式来自两个不同的文本文件
- 如何在 c++ 中比较两个文本文件
- 包括两个文件 C++ 之间的冲突
- 使用 C++ 读取具有两个连续分隔符的 csv 文件
- 如何检测两个文件条目是否引用与Qt相同的物理文件系统?