c和c++字符串处理函数总结 fgets getline getchar

1.sacnf(参数1,参数2): 第一个参数是指定要读取的数据类型和格式 。

        2.1 注意:sacnf在遇到空格 制表符 换行符时会停止读取

2.cin>> :此函数可以根据变量的类型自动进行数据类型匹配。

        2.1注意:sacnf在遇到空格 制表符 换行符时会停止读取

3.fgets(chat*str,int num,FILE*stream) : str是一个字符数组(或称字符串),用于储存读取的字符串数据。num指定了要读取的字符数(包括换行符和字符串终止符\0)。stream指定了要读取的输入流 一般为stdin(标准输入)或文件指针。 fgets函数会从指定的输入流(stream)中读取最多num-1个字符,存储到str中 并在读取结束后自动添加字符串终止符\0。会在遇到换行符\n或督导num-1后结束 最好一个字符是留给\0的。它会将读到换行符保留。fgets遇到错误时会返回一个NULL。

        3.1使用示例: char str[100]; fgtes(str,sizeof(str),stdin)。

4.getline(istream& input, string& str, char delimiter):input是一个输入流对象 用于指定要从中读取字符串的输入流 例如:cin 。str是一个用于储存读取的字符串。delimiter是一个可选参数 用于指定行介绍的字符,默认为换行符\n。 它会从输入流中读取一行字符 直到遇到指定的行结束字符(或文件结束符)结束符不会读取到字符串中。它可以检测字符串的长度并自动扩展对象以适应输入的字符串长度,避免缓冲区溢出问题。读取空字符串时会返回一个空字符串。

        4.1使用示例:string str; getline(cin,str);

5.int getchar(void):用于读取单个字符 他可以读取包括可见字符 空格 控制字符(一些常见的控制字符包括换行符(\n),回车符(\r),制表符(\t),退格符(\b)等),此函数无参数,如果读取成功返回的是ASCII值 ,如果到达文件末尾或发生错误 返回值则是特殊常量EOF ,会读取包括回车符的所有字符。

  int ch; ch=getchar();

    一些使用注意事项: 1.getchar是从缓冲区中取数据,所以在getchar之前如果有其他输入函数 如scanf会将一些字符留在缓冲区中 所以为了保险起见 可以在调用getchar之前清空缓冲区

                                   2.getchar会忽略回车符 当用户在键盘上输入一个字符时,通常会按下回车键,这会将字符和回车符一起发送到输入缓冲区。 如果不希望回车符被读取为字符之一 可以在读取字符后额外使用getchar去消耗回车符

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值