• 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函数来判断。

  • 相关阅读:
    HDevEngine in .NET Applications MultiThreading
    C# 打开以对话框,获取文件夹路径 、文件的路径、文件名
    C#设计模式总结
    C#使用Aspose.Cells导出Excel简单实现
    [相机选型] 双目视觉系统的器材选型和搭建
    08 Django组件-Forms组件
    MySql数据库基础知识
    MySql数据库多表操作
    补充01 Django 类视图
    07 Django组件-中间件
  • 原文地址:https://www.cnblogs.com/jiayith/p/3175234.html
Copyright © 2020-2023  润新知