1
우선, 실수를 저질렀다면 용서해주세요.사용자 입력 문자열에 대한 몇 가지 알고리즘
안녕하세요, 저는 C++ 코드를 작성 중이므로 사용자로부터 문장을 받아서 몇 가지 작업을 수행해야합니다.
- 문자열에 몇 개의 문자가 있습니까?
- 문자열에 몇 단어가 있습니까?
이 코드로 문자열을 얻고있다 :
string str;
cout << "Please enter your string."<<endl;
getline(cin,str);
cout<< "Your string is : "<<a<<endl;
cout<<"Length of your string is : "<<str.length();
내가 str.length
와 문자열의 길이를 얻고 있지만 공간이 너무 내 질문에, 내가 어떻게이 "공간"을 결정한다 카운트?
비록 @KABoissonneault 완벽하게 정확하지만 나도 strtok를 봐주는 제안 : 내가 코멘트를 게시하는 명성을 충분히 가지고 있겠지 때문에
'std :: string :: find' 메소드를 사용하십시오 :-) – AndyG
['std :: count_if'] (http://en.cppreference.com/w/cpp/algorithm/count) 문자열의 문자 수를 계산합니다 (숫자, 특수 문자 등이 아닌 경우) – CoryKramer
공백이 아닌 문자 수를 계산할 수 있습니다 단순한'std :: count_if (str.begin(), str.end(), [] (const char c) {return! std :: isspace (c);});'. 이 알고리즘의 변형을 통해이 술어에 따라 문자열을 찾고 "토큰 화"할 수 있습니다. 건너 뛰려는 람다에 공백이 아닌 문자를 추가 할 수도 있습니다. – KABoissonneault