取得した文字に\rが入り込む問題があったため、
chompのC++版を作ってみた

std::string chomp ( const std::string& s )
{
	const char* p = &s[0];
	const char* p2 = &s[0] + s.size();
	std::string cr_lf = "\r\n";
	while ( p2 > p && (cr_lf.find(p2[-1]) != std::string::npos) )
	{
		p2--;
	}
	return std::string ( p, p2-p );
}

参考
http://www.koders.com/cpp/fidE5347712792D46799468149D7457892152DFD00A.aspx?s=cdef%3Amd5