【问题标题】:Column by column reading of data from a file in C++? [duplicate]从C ++中的文件中逐列读取数据? [复制]
【发布时间】:2016-11-17 21:16:59
【问题描述】:

是否可以在 C++ 中逐列而不是逐行读取文件中的数据?我在一个文件中有数据,我希望它们逐列读取并按该顺序存储在数组中。任何帮助,将不胜感激。谢谢!

【问题讨论】:

  • 您可以尝试更改 getline 函数的分隔符,请参见例如this
  • 也可以考虑看看how to ask a good questions on stackoverflow,让你的问题变得更好
  • 你想错了。文本文件中的文本等数据不是由行和列表示的,它们通常全部串在一起并由控制字符分隔,例如\s\t\r\n 或只是\n。无论您使用什么来解析数据,都会查找这些控制字符并返回其间的字节。在将逐列数据解析为数组时,您只需要弄乱嵌套的 for 循环结构即可。
  • @Jonny Henly 用简单的话说:文件没有行或列,你只能从头到尾阅读它们
  • @tobi303 谢谢,这就是我想要的,但不知道如何措辞。

标签: c++ file


【解决方案1】:

您不需要逐列读取,因为您可以逐行或逐列填充数组,数组无关紧要(正如 Jonny Henly 在他的评论中指出的那样):

伪代码:

“读取行”:

data[size][size];
for (int row=0;row<size;row++)
    for (int col=0;col<size;col++)
        inputFile >> data[row][col];

“读取列”:(即data是文件内容的转置)

data[size][size];
for (int col=0;col<size;col++)
    for (int row=0;row<size;row++)
        inputFile >> data[row][col];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多