【问题标题】:Avoiding the default '\n' with cout使用 cout 避免默认的 '\n'
【发布时间】:2014-01-12 07:02:52
【问题描述】:
cout<<"\nEnter Date of Birth";
cin>>date;
cout<<"-";
cin>>month;
cout<<"-";
cin>>year;

在这段代码中,我希望输入为25-02-1994(输入前一个值后破折号自动出现)。但是,自动附加一个'\n',输入被视为

Enter Date of Birth25
('\n')-02
('\n')-1994

我必须标记 ('\n') 以标记破折号出现在新行上。有什么建议吗??

【问题讨论】:

  • 为什么不输入一整行,然后根据破折号的位置进行解析?
  • 这是输入时在控制台中按回车的行为,而不是std::cout
  • 听起来您正在寻找低级按键控制台交互,如果是这样,那么没有标准语言或库支持此类要求。每个平台都有解决方案,但这与您将获得的一样好。假设您希望 '-' 在用户输入两位数后立即发出,然后再在两位数后发出,等等。

标签: c++


【解决方案1】:

因为你按下回车键。这是正常的。如果您不想要 '\n' 字符,请将其删除。

date [ strlen( date ) - 1] = '\0';
month[ strlen( month) - 1] = '\0';
year [ strlen( year ) - 1] = '\0';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多