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指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。

返回值:读入成功,返回与参数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输出字符串时要遇到‘\0’也就是字符结束符才停止。

eg:puts(str).

5.cin.get:

两种用法:

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

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

6.cin.getline:

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

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

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

7.getline:

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

istream& getline ( istream& , string& );

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

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

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

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

时间: 2025-01-05 16:53:48

getchar()、putchar()、gets()、puts()、cin.get()、cin.getline()、getline()的相关文章

【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts

#include <stdio.h> int fputc(int c, FILE *stream); int fputs(const char *s, FILE *stream); int putc(int c, FILE *stream); int putchar(int c); int puts(const char *s); fputc()写一个字符c,强制转换成一个unsigned char类型字符,到文件stream. fputs()写一个字符串到stream,省略字符串尾部的'\0

Linux C 字符函数 getchar()、putchar() 与 EOF 详解

首先给出<The_C_Programming_Language>这本书中的例子: #include <stdio.h> int main() { int c; c = getchar(); while (c != EOF) { putchar(); c = getchar(); } return 0; } 这里主要解释下为什么要用int型来接受getchar函数. 很多时候,我们会写这样的两行代码: char c; c = getchar(); 这样就很有可能出现问题.因为getc

C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该输入数据按指定的输入格式被赋给相应的输入项.函数一般格式为:scanf("控制字符串",输入项列表):其中控制字符串规定数据的输入格式,必须用双引号括起,其内容是由格式说明和普通字符两部分组成.输入项列表则由一个或多个变量地址组成,当变量地址有多个时,各变量地址之间用逗号“,”分隔.sca

字符、ASCII、整数和getchar、putchar

字符是以整数形式(ASCII码的十进制数)存储在内存单元中的! 说白了,整数和字符是以同一种形式(都是整数形式)存储的,两者可以直接进行运算! 可以通过不同的输出格式(%d.%c.putchar())来按自己的要求来分别显示字符或者整数! 1 //代码示例: 2 #include<stdio.h> 3 int main() 4 { 5 int sum; 6 char a,b; 7 a = getchar(); 8 b = getchar(); 9 sum = a+b; 10 printf(&q

getchar与putchar缓冲区以及字符串数组、指针

getchar与putchar缓冲区 有下面的语句段: while ((s = getchar()) != '\n'){ putchar(s); putchar("\n"); } 这个while循环是怎么工作的呢? 首先getchar在数据缓冲区里读数据进来,这个读取数据是一个个读的,循环依次判断读进来的字符是不是为换行符,是的话就跳出循环,不是就打印出该字符.其实在getchar读取字符之前,通过键盘输入的字符已经通过stdin流全部存入了缓冲区中,getchar只在用户输入了换行符

c++中 cin、cin.get()、cin.getline()、cin.getchar()的区别

①cin>>:无法接收空格.Tap键且以空格.Tap键.回车符为分隔符: ②cin.get( ):可以接收空格.Tap键且以回车符为结束符: 一:可输入单个字符 格式: char ch; ch=cin.get( );/cin.get(ch); 二:可输入字符串 格式: cin.get(字符数组名,元素个数) ③getline( ):可接收空格.Tap键且以回车符为结束符: 格式: string str;//字符串变量 getline(cin,str); ④cin.getline( ):可接收空

C++基础:各种输入方法总结,cin、cin.get()、cin.getline()、getline()、gets()、getchar()

C++基础:各种输入方法总结,cin.cin.get().cin.getline().getline().gets().getchar() 原文地址:https://www.cnblogs.com/hpl20155329/p/9029458.html

C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)

学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get() 3.cin.getline() 4.getline() 5.gets() 6.getchar() 附:cin.ignore();cin.get()//跳过一个字符,例如不想要的回车,空格等字符 1.cin>>          用法1:最基本,也是最常用的用法,输入一个数字: #includ

C++中cin、cin.get()、cin.getline()、getline()、gets()等

学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin  2.cin.get()  3.cin.getline()  4.getline()  5.gets()  6.getchar() 附:cin.ignore();cin.get()//跳过一个字符,例如不想要的回车,空格等字符 1.cin>>          用法1:最基本,也是最常用的用法,输入一个数字: #i