跳过输入文件C ++中的阅读行

肯·卡西米罗

因此,我试图将输入文件读入二维数组。

我遇到的问题是我只希望读取输入文件中的某些行,但我只是不知道在代码中将第二个忽略项放在何处

这是名为“ Fruit.txt”的输入文件:

Oroblanco Grapefruit
Winter
Grapefruit

Gold Nugget Mandarin
Summer
Mandarin

BraeBurn Apple
Winter
Apple

而我的代码:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

const int MAX_ROW = 6;
const int MAX_COL = 4;

void FileInput(string strAr[MAX_ROW][MAX_COL])
{

ifstream fin;

fin.open("Fruit.txt");

int columnIndex;
int rowIndex;

rowIndex = 0;

while(fin && rowIndex < MAX_ROW)
{
    columnIndex = 0;

    while(fin && columnIndex < MAX_COL)
    {
        getline(fin, strAr[rowIndex][columnIndex]);
        fin.ignore(10000,'\n');

        columnIndex++;

    }

    rowIndex++;
}


fin.close();
}

我的代码现在将其存储为:

Oroblanco Grapefruit // strAr[0][0]
Grapefruit           // strAr[0][1] 

Gold Nugget Mandarin // strAr[0][2]
Mandarin             // strAr[0][3]

BraeBurn Apple       // strAr[1][0]
Apple                // strAr[1][1]

我希望它是这样的:

Oroblanco Grapefruit // strAr[0][0]

Gold Nugget Mandarin // strAr[0][1]

BraeBurn Apple       // strAr[0][2]

我只是不知道应该在哪里放置第二个忽略项。如果我在第一次忽略后将其正确放置,那么它将跳过比我想要的更多的东西。

卡马尔·兹丹(Kamal Zidan)

您的代码很好,只需修复变量即可columnIndex

并使用3忽略,因为您也需要忽略空行。

fin.ignore(10000,'\n');
fin.ignore(10000,'\n');
fin.ignore(10000,'\n');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

读取文件作为命令跳过行的输入

春季批处理将跳过的阅读器行保存在拒绝文件中

跳过txt文件中的前4行然后拆分其余部分并阅读

在 C++ 中从文件中获取输入时如何跳过读取“:”

如何阅读与Java的流线一个文件中的行

阅读文本文件中的最后一行

我想在 C 中阅读一行的某个部分

为什么`inputs'跳过输入文件的第一行?

跳过C中文本文件的阅读标题

如何跳过文本文件中的某些输入

Bindgen跳过C ++头文件中的定义

跳过CSV文件中的行

要求用户输入时,C程序跳过一行

如何跳过阅读阅读器中的某些列

我只能在阅读行中输入2个数字吗?

阅读文件行并在数字前输入单词

使用输入流阅读器阅读时缺少行

在C ++中获取用户输入未执行/跳过的代码

仅使用python中的csv阅读器读取csv文件的前N行

如何跳过阅读zabbix中的时间戳?

C - 在无限长度的行中阅读有限长度的单词

如何阅读名称文档中的z <-“ names <-”(z,“ [<-”(names(z),3,“ c2”))行?

如何在不使用缓冲阅读器的Java中跳过行尾字符的情况下读取行

c ++跳过csv文件的第一行

阅读时跳过文件的某些部分

阅读C ++中很长的控制台输入

如何在不使用任何输入代码的情况下从文件中跳过行直到特定的字符串?

Linux Bash文件阅读行和单词

如果行/行不是以c#中已建立的字符开头,则跳过或删除CSV文件中的行/行