web-dev-qa-db-ja.com

文字列ヘッダーを含めるにはどうすればよいですか?

stringsについて学習しようとしていますが、さまざまなソースがさまざまなヘッダーを含めるように指示しています。

<string.h>を使用すると言う人もいれば、"apstring.h"と言う人もいます。私はapstringでいくつかの基本的なことをすることができましたが、もう一方はもっと強力だと言われました。 <string.h>をインクルードし、いくつかの文字列変数を宣言しようとすると、エラーが発生します。適切な使用法は何ですか?

28
Maxpm

<string>を含めて、std::stringを使用します:

#include <string>
#include <iostream>

int main()
{
    std::string s = "a string";
    std::cout << s << std::endl;
}

しかし、あなたが本当にする必要があるのは、 入門レベルの本 を取得することです。あなたは他の方法で適切に学習するつもりはなく、確かにオンラインで情報を捨てることはありません。

61
GManNickG

Apstring.hを使用するように指示するソースは、コンピューターサイエンスの Advanced Placement コースの資料です。コースで使用するa文字列クラスについて説明します。また、試験の質問のいくつかはそれを参照しており、ある程度慣れていることを期待します。それ。そのクラスに登録していないか、試験を受けるために勉強している場合を除き、それらの情報源は無視してください。

String.hを使用するように指示するソースは、実際にはC++について話していないか、非常に古くなっています。おそらくそれらも無視する必要があります。そのヘッダーは、[〜#〜] c [〜#〜]関数で、ヌルで終了する文字の配列(Cスタイルとも呼ばれる)を操作するためのものです。文字列。

C++では、文字列ヘッダーを使用する必要があります。ファイルの先頭に#include <string>と書きます。変数を宣言するとき、タイプはstringであり、std名前空間にあるため、そのフルネームはstd::stringです。多くの入門テキストの例に従い、C++ソースファイルの先頭でusing namespace stdと言います(ただし、一般的にnotヘッダーファイルの先頭に記述します)。

11
Rob Kennedy

「apstring」については聞きません。c++でstringを使用する場合は、次のようにできます。

#include<string>
using namespace std;
int main()
{
   string str;
   cin>>str;
   cout<<str;
   ...
   return 0;
}

これが役に立つことを願っています

6
yubaolee

C++文字列クラスはstd::stringです。これを使用するには、<string>ヘッダーを含める必要があります。

std::stringの使用方法の基礎については、 良いC++入門書 を参照してください。

4
James McNellis

C++でコーディングしている場合は、string.hを使用しないでください。 C++の文字列はstd::string種類のものであり、古いCスタイルの「文字列」よりもはるかに使いやすいです。つかいます:

#include <string>

正しい情報とstd::string sを取得して、それを宣言します。 std::stringを使用できる多くの素晴らしい方法は ここ で見ることができます。

C文字列の使用に関するStack Overflowの多数の質問を見ると、可能であればそれらを避けるべき理由がわかります:-)

3
paxdiablo

"apstring"は標準C++ではありません。C++では、<string>クラス

1
Lie Ryan

たぶん、このリンクはあなたを助けるでしょう。

std :: string documentation を参照してください。

#include <string>は最も広く受け入れられています。

0
prolink007

これを使って:

#include < string>
0
fatih