zoukankan      html  css  js  c++  java
  • C/C++输入输出总结

    *string类:  1.cin>>string时,遇到' '或者空格即停止,并且' '或空格仍留在输入里,即只读了一个单词或什么都没读,但string类自己处理好了空字符什么的.下一次再这样读的话会跳

                      换行和空格;

           2.读一行到string里可用getline(cin,string),这个函数一直读直到遇到了' ',注意这里getline()不是cin的类方法,cin表示到这里找输入.并且这个函数把' '读取并丢弃了

                      没有放在string里.

    *char arr[]:  1.cin>>arr会一直读进去,不安全.当遇到' '或者空格时停止,并在后面自动加'',但' '或者空格仍留在输入里.下一次再这样读的话也会跳过换行和空格;

                      2.用cin.getline(arr,length)读一行,并在结尾加'',指定了长度.读取' '并且丢弃了.

    *char:   1.cin>>char会跳过' '或空格,直到遇到不是这样的.

                2.cin.get(char)可以读每一个字符,包括换行符和空格.char=cin.get()的效果也一样.

    *从文件读取一行到string:   注意要包含string头文件,这点易错.getline(ifstream,string);这里getline只是一个函数.

    scanf()遇到enter、空格、非法字符,输入就结束

    fgets() :   char *fgets(char *buf, int bufsize, FILE *stream);

    从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋''),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。

  • 相关阅读:
    进程(WINAPI),遍历并查找树状的进程信息,实现控制系统进程
    HDU 4786 Fibonacci Tree(生成树,YY乱搞)
    Linux信号通讯编程
    HDU 3635 Dragon Balls(带权并查集)
    还原数据库出现“未获得排他訪问”解决方法(杀死数据库连接的存储过程sqlserver)
    java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称而且未指定默认驱动程序解决方法
    【C++基础 02】深拷贝和浅拷贝
    内核链接的简单使用
    I2C测试【转】
    [RK3288]PMU配置(RK808)【转】
  • 原文地址:https://www.cnblogs.com/jiayith/p/3175234.html
Copyright © 2011-2022 走看看