• getchar()、putchar()、gets()、puts()、cin.get()、cin.getline()、getline()


    1.getchar:

    原型为int getchar(void).

    它从stdin里读取一个字符。返回值为用户输入的ASCⅡ码,出错返回-1。

    eg:c=getchar().

    2.putchar:

    原型为unsigned int putchar(char).

    在stdout上输出一个字符。当输出正确的时候,返回输出字符转换为的unsigned int 值;当输出错误的时候,返回 EOF(End of file)文件结束符,即-1。

    eg:putchar(c).

    3.gets:

    原型为char* gets ( char* str ).

    功能:从stdin流中读取字符串,直至接收到换行符或EOF时停止,并将读取的结果存放在str指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘’空字符,并由此来结束字符串。

    返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。

    注意:此函数不检测堆栈溢出,溢出时会覆盖堆栈上不相关的数据,可用fgets(stdin)代替。

    eg:gets(str).

    4.puts:

    原型为int puts(const char *string).

    向标准输出设备写字符串并换行,其调用方式为,puts(s);其中s为字符数组或字符串。

    注意:puts输出字符串时要遇到'’也就是字符结束符才停止。

    eg:puts(str).

    5.cin.get:

    两种用法:

    1)接收单个字符:eg:cin.get(c); <=> c=cin.get().

    2)接收字符串:eg:cin.get(s,n); 其中,s为字符数组或字符串,n为此字符串的长度-1,自动把第n位赋值为''。

    6.cin.getline:

    cin.getline(char* str,int N,char f);其中,char f可以缺省为' '。

    此函数会一次读取多个字符(包括空白字符)。它以str为存放第一个读取的字符的位置,依次向后存放读取的字符,直到读满N-1个,或者遇到指定的结束符f为止。若不指定结束符,则默认结束符为' '。

    eg:getline(s,10,'*');

    7.getline:

    istream& getline ( istream &is , string &str , char delim );

    istream& getline ( istream& , string& );

    将输入流is(一般为cin)中读到的字符存入str中,直到遇到终结符delim才结束。对于第一个函数delim是可以由用户自己定义的终结符;对于第二个函数delim默认为 ' '(换行符)。

      函数在输入流is中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。

    在遇到终结符delim后,delim会被丢弃,不存入str中。在下次读入操作时,将在delim的下个字符开始读入。

    eg:getline(cin,s,'*');

  • 相关阅读:
    遍历一个枚举类型
    ASP.NET:C#中时间格式的转换
    DataAdapter去批量更新数据的FAQ
    .Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类 (第2版) (C# DIY HttpWebClient) 收藏
    如何使数据库中取出的数据保持原有格式
    如何获取控制台应用程序自己的文件名
    2008将倒掉一大部分的工厂和贸易公司
    组六对半分组组合投资方案(36789)
    重又归孑然一身
    善于总结
  • 原文地址:https://www.cnblogs.com/jiu0821/p/4216591.html
Copyright © 2020-2023  润新知