用循环C ++打开文件程序

时间:2018-02-16 18:46:08

标签: c++ file loops while-loop fltk

所以这是我的指示,创建一个while循环来打开一个名为'G:/points.dat'的文件

到目前为止,这是我的代码。我正在努力创建读取文件的for循环,将它们打印到监视器,然后将这些整数用作x,y点。我可以理解命名x和y参数,但我正在努力与循环本身

#include "Window.h"
#include "Colours.h"
#include <fstream>
#include <iomanip>
#include <string>

using namespace std;

int main(int argc, char * argv[]) {
// create a new window of size 500 x 500 pixels
// the top left corner of the window is (0,0)
    SPA::Window window(500,500,"My Test");
    ifstream myInputFile;
    string inputFileName = "G:/points,dat";

    myInputFile.open(inputFileName);

    int i = 0;
    myInputFile >> i;

    myInputFile.close();

    window.show(argc,argv);

    return Fl::run();
}
  • 打开文件'G:/points.dat'

  • 读入多对数字 - 即每行两个数字,直到 文件末尾

  • 您应该使用while循环和文件状态的相应测试来检测文件结尾

  • 在尝试读取超出文件末尾的至少一个值后,eof标志才会设置为true。
  • 每对数字代表要绘制的线上的点的x和y坐标(x,y)。
    • 在循环内部为您在
    • 中读取的每个(x,y)值添加一个指向当前行的点

1 个答案:

答案 0 :(得分:2)

循环很容易

while (myInputFile >> x >> y)
{
    // do something with x and y
    ...
}

该循环不会严格读取每行的两个值,它只是读取接下来的两个值,无论它们是否在下一行。

顺便说一句,你的代码中有拼写错误

string inputFileName = "G:/points,dat";

应该是

string inputFileName = "G:/points.dat";

当您打开文件时,您应该始终检查它是否成功打开。