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

#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会计算当作换行符使用的回车键,但是不会计算字符串结束的回车键.

时间: 2024-12-15 17:45:19

C++使用cin.getline使用例题注意点2:字符计数的相关文章

C++使用cin.getline使用例题

1 #include<iostream> 2 #include<cstring> 3 #include<stdio.h> 4 using namespace std; 5 class stu{ 6 private: 7 char name[32]; 8 char ID[32]; 9 int age; 10 int score[4]; 11 int avg_score; 12 public: 13 void getDate(char Name[],char id[],in

C++:cin、cin.getline()、getline()的用法

主要内容: 1.cin用法 2.cin.getline()用法 3.getline()用法 3.注意的问题 一.cin>> 用法1:输入一个数字或字符 #include <iostream>using namespace std;main (){int a,b;cin>>a>>b;cout<<a+b<<endl;} 用法2:接收一个字符串,遇“空格”.“TAB”.“回车”就结束 #include <iostream>usi

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

c++中字符输入函数getline、cin.getline区分

1.cin>>s; s能够是:string  s.char s[]; 这个是ostream中的函数.遇到' '(空格) , '\n'(换行),就会自己主动结束,因此假设用cin读取字符串,那么这个字符串中不能含有空格和换行. cin由于不识别空格和换行,因此假设在输入字符串的时候,在字符開始处输入了空格或换行,没有不论什么影响. #include <iostream> #include <string> #include <stdio.h> using na

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

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()//跳过一个字符,例如不想要的回车,空

cin,cin.get(),cin.getline(),getline()

学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

cin.get(),cin.getline(),getline()区别

C++中有两个getline函数,这两个函数分别定义在不同的头文件中 1.getline()是定义在<string>头文件中,功能是取一行字符串,读到换行符r结束,并且抛弃换行符,如果需要读取字符,则接着下一行读取. getline(cin,str);第一个参数是输入流对象,第二个参数是字符串对象,该函数将istream参数作为返回值.如while(getline(cin, line)) 2.cin.getline()是cin的一个成员函数,定义在<iostream>头文件中,该函

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* g