1

重複の可能性:
C++ 文字列の長さ?

今、本当に助けが必要です。文字列を入力として受け入れ、文字列の長さを見つける方法は? それがどのように機能するかを知るためだけに、単純なコードが必要です。ありがとう。

4

3 に答える 3

4

ヒント:

std::string str;
std::cin >> str;
std::cout << str.length();
于 2012-08-10T00:14:03.580 に答える
2

C ++の場合:

#include <iostream>
#include <string>

std::string s;
std::cin >> s;
int len = s.length();
于 2012-08-10T00:14:12.983 に答える
1

strlen(mystring)からご利用いただけます<string.h>。文字列の長さを返します。

注意: C の文字列は、文字 '\0' で終わる文字の配列です。十分なメモリが予約されている (文字列全体 + 1 バイトが配列に収まる) 場合、文字列の長さは、ポインタ (mystring[0]) から '\0' の前の文字までのバイト数になります。

#include <string.h> //for strlen(mystring)
#include <stdio.h> //for gets(mystring)

char mystring[6];

mystring[0] = 'h';
mystring[1] = 'e';
mystring[2] = 'l';
mystring[3] = 'l';
mystring[4] = 'o';
mystring[5] = '\0';

strlen(mystring); //returns 5, current string pointed by mystring: "hello"

mystring[2] = '\0';

strlen(mystring); //returns 2, current string pointed by mystring: "he"

gets(mystring); //gets string from stdin: http://www.cplusplus.com/reference/clibrary/cstdio/gets/

http://www.cplusplus.com/reference/clibrary/cstring/strlen/

編集: コメントに記載されているように、C++ では string.h を cstring として参照することをお勧めします。したがって、.h の#include <cstring>代わりにコーディングし#include <string.h>ます。

一方、C++ では、文字列をオブジェクトとして操作できる文字列クラスを提供する C++ 固有の文字列ライブラリを使用することもできます。

http://www.cplusplus.com/reference/string/string/

ここに文字列入力のかなり良い例があります: http://www.cplusplus.com/reference/string/operator%3E%3E/

この場合、次の方法で文字列を宣言し、その長さを取得できます。

#include <iostream>
#include <string>

string mystring ("hello"); //declares a string object, passing its initial value "hello" to its constructor
cout << mystring.length(); //outputs 5, the length of the string mystring
cin >> mystring; //reads a string from standard input. See http://www.cplusplus.com/reference/string/operator%3E%3E/
cout << mystring.length(); //outputs the new length of the string
于 2012-08-10T00:12:03.533 に答える