Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 存储文件时遇到问题,需要跨越所有行,但最后一行除外_C++_File_Istream - Fatal编程技术网

C++ 存储文件时遇到问题,需要跨越所有行,但最后一行除外

C++ 存储文件时遇到问题,需要跨越所有行,但最后一行除外,c++,file,istream,C++,File,Istream,我试图将文件数据发送到一个istream变量,该变量在最后一行之前停止读取,并在存储之前离开。有没有一种简单的实现方法?停止字符或类似的东西 istream& TransactionList::getDataFromStream( istream& is) { //read in (unformatted) transaction list from input stream Transaction aTransaction; is >>

我试图将文件数据发送到一个istream变量,该变量在最后一行之前停止读取,并在存储之前离开。有没有一种简单的实现方法?停止字符或类似的东西

    istream& TransactionList::getDataFromStream( istream& is) {
    //read in (unformatted) transaction list from input stream
    Transaction aTransaction;
    is >> aTransaction; //read first transaction
    while ( is != 0)    
    {       ^^^^^^^
        listOfTransactions_.addAtEnd( aTransaction);   //add transaction to list of transactions
        is >> aTransaction; //read in next transaction
    }
    return is;
}

简单。检查它是否不是最后一次。你可能想检查一下EOF

   istream& TransactionList::getDataFromStream( istream& is) {
    //read in (unformatted) transaction list from input stream
    Transaction aTransaction;
    Transaction aNextTransaction;
    is >> aTransaction; //read first transaction
    while ( !is.eof())    
    {       ^^^^^^^
        aTransaction = aNextTransaction;
        is >> aNextTransaction; //read in next transaction
        // last read didn't set EOF, so its not the last line. Add the previous.
        if (!is.eof())
            listOfTransactions_.addAtEnd( aTransaction);   //add transaction to list of transactions
    }
    return is;
}

谢谢,如果有可能没有交易,考虑到每个交易在同一行中都包含一个“/”,我会在函数中加入什么?