Patz's Algorithm Journey

The way we hack

如何在命令行下读入一行输入

        写命令行下的程序时,总需要一次读入一行输入后再做处理。如果用getline()的话,缓冲区char*的大小是事先定好的。虽然把缓冲区设大点也能完成任务,不过总让人觉得不舒服。最简单的办法是用cin.get(),自动读到(但不包括)'\n'。再要读接下来一整行时加上一个cin.ignore()把未读入的'\n'给忽略就行了。

        cin.get()详细说明见这里,其原型如下:

1int get();
2istream& get ( char& c );
3istream& get ( char* s, streamsize n );
4istream& get ( char* s, streamsize n, char delim );
5istream& get ( streambuf& sb);
6istream& get ( streambuf& sb, char delim ); 

posted on 2008-09-09 23:53 patz 阅读(758) 评论(1)  编辑 收藏 引用

Feedback

# re: 如何在命令行下读入一行输入 2008-09-10 10:28 李现民

std空间下有一个全局的getline,不是cin的函数,
std::string strRead;
std::getline(std::cin, strRead);
不用指定缓冲大小  回复  更多评论   



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理