This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 7.3.0 -std=gnu++17 failed to getline() from std::ifstream


On 6/11/2018 4:11 AM, Ross Smith wrote:
On 2018-06-06 09:00, Marco Atzeri wrote:
On 6/5/2018 10:32 PM, Ivan Shynkarenka wrote:
  Hello

I use x64 bit Cygwin and it failed in my home, work and Appveyor.  I add
cygcheck.out with my environment.

I'm sorry about misspell prefix space in my prev example. Please try the
following one:

#include <fstream>
#include <iostream>

int main(int argc, char** argv)
{
     std::string line;
     std::ifstream stream("test.cpp");
     while (getline(stream, line))
         std::cout << line << std::endl;
     return 0;
}

g++ -std=gnu++17 test.cpp

works fine on 32 bit and 64 bit on my W7

I'm having the same problem. My test program:

#include <fstream>
#include <iostream>
int main() {
     std::ifstream in("demo.cpp");


with this change does not segfault

  std::ifstream stream("demo.cpp\n");

function <string> std::getline (string)

Get line from stream into string
Extracts characters from is and stores them into str until the delimitation character delim is found (or the newline character, '\n', for (2)).


     std::string line;
     for (;;) {
         std::getline(in, line);
         if (! in && line.empty())
             break;
         std::cout << line << "\n";
     }
}

$ g++ demo.cpp -std=c++17 -o demo && ./demo
Aborted (core dumped)

./demo.exe



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]