码迷,mamicode.com
首页 > 编程语言 > 详细

C++使用cin.getline使用例题注意点2:字符计数

时间:2017-04-23 18:15:09      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:style   空格   ret   介绍   异或运算   space   src   利用   images   

#include<iostream>
#include<cstring>
using namespace std;
void backAround(char *s,char *p);
int main(int argc,char *argv[])
{
    char s[500],p[500];
    int i;
    int j;
    int len;
    cin.getline(s,500);//用来确定输入数据
   // cout<<s;
    len = strlen(s);//此处循环用来分离句子单词
    for(i=0,j=0;i<len;i++){

        if(s[i]!= )p[j++]=s[i];
        else {p[j]=\0;backAround(p,p+j-1);cout<<p<<" ";j=0;}
        }

    p[j]=\0;
    backAround(p,p+j-1);
    cout<<p;
    return 0;
}
void backAround(char *s,char *p)
{
    if(s>=p)
        return ;
    *s^=*p;//利用异或运算进行数据换位
    *p^=*s;
    *s^=*p;
    backAround(s+1,p-1);
}

代码有所参考:不记得是参考的哪个的了,在这里介绍cin.getline()函数使用方法,同时也是更新,cin.getline(s,sizeof,‘a‘);输入一段字符串,以a结尾,但是不包括a.

下面贴上代码:

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 void backAround(char *s,char *p);
 5 int main(int argc,char *argv[])
 6 {
 7     char s[500];//p[500];
 8    // int i;
 9    // int j;
10     int len;
11     cin.getline(s,500,.);//用来确定输入数据
12     cout<<s<<endl;
13     len = strlen(s);
14     cout << len << endl;
15 }

技术分享

技术分享

可以看出字符串输出没有 " ."同时strlen计算字符串没有把字符串结束的回车算进去,空格算的,

但是如果回车当作换行符使用的话是会算一个字符的.

技术分享

目前来看strlen会计算当作换行符使用的回车键,但是不会计算字符串结束的回车键.

C++使用cin.getline使用例题注意点2:字符计数

标签:style   空格   ret   介绍   异或运算   space   src   利用   images   

原文地址:http://www.cnblogs.com/dog-and-cat/p/6752942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!