• 标准输入流


    标准输入流对象 cin

    重点api:

            cin.get()                                //一次只能读取一个字符

            cin.get(一个参数)                 //读一个字符

            cin.get(三个参数)                 //可以读字符串

            cin.getline()

            cin.ignore()

            cin.peek()

            cin.putback()

    标准输入流常见api编程案例

    cin接受输入时,>> 会过滤掉不可见字符(例如:空格、回车、TAB等)

    也就是说,从第一个非空白符开始读,直到空白符或者文件结束为止

    1. #include
    2. using namespace std;
    3. int main01(void)
    4. {
    5. char YourName[50];
    6. int myInt;
    7. long myLong;
    8. double myDouble;
    9. float myFloat;
    10. unsigned int myUsigned;
    11. cout<<"请输入一个int:";
    12. cin>>myInt;
    13. cout<<"请输入一个Long";
    14. cin>>myLong;
    15. cout<<"请输入一个Double:";
    16. cin>>myDouble;
    17. cout<<"请输入你的姓名:";
    18. cin>>YourName;
    19. cout<<"\n\n你输入的数是:"<
    20. cout<<"int:\t"<
    21. cout<<"Long:\t"<
    22. cout<<"double:\t"<
    23. cout<<"char *:\t"<
    24. return 0;
    25. }
    26. int main02(void)
    27. {
    28. char ch;
    29. while((ch=cin.get())!=EOF) //EOF = -1
    30. {
    31. cout<
    32. }
    33. return 0;
    34. }
    35. //链式编程:函数的返回值是对象本身,可以当左值使用
    36. int main03(void)
    37. {
    38. char a,b,c;
    39. cin.get(a);
    40. cin.get(b);
    41. cin.get(c);
    42. cout<//<<重载操作符,其实本质上也是函数
    43. cout.flush(); //刷新缓冲区
    44. cin.get(a).get(b).get(c);
    45. cout<
    46. return 0;
    47. }
    48. int main04(void)
    49. {
    50. char buf1[256];
    51. char buf2[256];
    52. cout<<"请输入你的字符串 不超过 256"<
    53. cin.getline(buf1,256,'\n');
    54. cout<
    55. //cin.getline和cin的区别,能不能带空格
    56. cin>>buf2; //遇到空格停止提取输入流
    57. cout<
    58. return 0;
    59. }
    60. //输入 aa bb cc dd
    61. int main05(void)
    62. {
    63. int intchar;
    64. char buf1[256];
    65. char buf2[256];
    66. cin>>buf1;
    67. //istream &ignore( streamsize num=1, int delim=EOF );
    68. cin.ignore(2);
    69. // int peek();
    70. intchar = cin.peek();
    71. cin.getline(buf2,256);
    72. cout<
    73. intchar = cin.peek();
    74. cout<
    75. return 0;
    76. }
    77. int main(void)
    78. {
    79. cout<<"请输入一句话:"<
    80. char c = cin.get();
    81. //输入整数和字符分开处理
    82. if(c>='0' && c<='9') //如果是数字
    83. {
    84. int n;
    85. cin.putback(c); //往输入流中吐出一个数据
    86. cin>>n;
    87. cout<<"输入数字:"<
    88. }
    89. else //否则一定是字符
    90. {
    91. cin.putback(c);
    92. string str;
    93. getline(cin,str);
    94. cout<<"输入字符串:"<
    95. }
    96. return 0;
    97. }

  • 相关阅读:
    DNS是TCP还是UDP
    Java面试八股文整理
    并查集(畅通工程)
    Ps:红眼工具
    【HarmonyOS】元服务卡片router实现跳转到指定页面并传动态参数
    串口发送&串口发送+接收&串口收发HEX数据包&串口收发文本数据包----USART
    Better And Better连Mac OS都在效仿的软件
    sqlite3自动插入创建时间和更新时间
    基于YOLOV8模型的海上船只目标检测系统(PyTorch+Pyside6+YOLOv8模型)
    Linux下 gdb 调试打印栈帧中的变量
  • 原文地址:https://blog.csdn.net/weixin_46120107/article/details/126005222