c++碰到的一些细节知识

1 memset()函数 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,           块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include<iostream> using namespace std; int main(void) {  char buffer[]="hello world";  memset(buffer,'#',strlen(buffer));  cout<<buffer<<endl;  //cout<<strlen(buffer)<<" "<<sizeof(buffer)<<endl;  return 0; }

输出结果: Buffer before memset: Hello world

Buffer after memset: ***********

其中这里用了strlen与sizeof函数,前者的结果是11,后者的结果是12 而当char *buffer="hello world"; strlen(buffer)=11  sizeof(buffer)=4; 此处buffer是一个指针,在32为系统里指针的大小都是4字节

2 这是昨天在看代码时碰到的一个小问题,自己对c++里面的流还是不怎么了解 fstream 的good函数   good()函数用来判断当前流状态是否健康,当遇到EOF、输入类型不匹配的时候放回false。

示例代码: #include <iostream> using namespace std; void main() { int n; while(cin.good()) { cin>>n; cout<<"你输入了一个整数:"<<n<<endl; } cout<<"输入值非整数,程序退出"<<endl; }

运行之,只要输入数字,程序会显示出你输入的数字,并且循环继续,只要不是数字就跳出循环

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值