查找字符串的长度(不包括空格)?

时间:2016-11-18 01:30:45

标签: c++

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
clrscr();
char name[10];
char op;
int w, len;
cout<<"Menu\n1.Length of the string(with & without spaces)\n" \\I have edited out the rest as it was irrelevant to my question
cin>>op;
switch(op)
{
case '1': cout<<"Enter a word";
          gets(name);
          w=strlen(name);
          cout<<"The length of the string including spaces is"<<w;
          for(int i=0;i!=w;++i)
          {
          if (name[i]!=' ')
          {
          len++;
          }
          }
    cout<<"Excluding spaces is\n"<<len;
}
getch();
}

我在这个程序中使用Turbo C7编译器。 它显示包含空格值,但不包括空格。 如果错误,请更正代码。

2 个答案:

答案 0 :(得分:-1)

您忘记初始化len

int w, len=0;

答案 1 :(得分:-1)

使用String.length()并将输入更改为String类型。不要忘记#include <string>

int len = 0;

string Input;
getline(cin, Input);

for (int x = 0; x < Input.length(); x++) {
    if (Input[x] != ' ') {
        len++;
    }
}

cout << len;

这没有任何问题。