2016-06-27 13 views
0

2つの文字列を連結しようとしています。文字列の1つが定義されているのに対し、他の文字列の長さは固定されていません。 2番目の文字列を '私の世界に'と仮定して入力するたびに、文字列全体を連結して印刷しません。 私はプログラミングに慣れていないので、私を助けてください。演算子のオーバーロードを使用してC++で2文字列を連結する

#include <iostream> 
using namespace std; 

int main() { 
    string s = "Welcome"; 
    string t="",k; 
    cin>>t; 
    k=s+t; 
    cout<<k; 
return 0; } 
+0

私は文字列ヘッダーファイル –

+0

を使用するつもりはありませんあなたの具体的な問題は何ですか? を含まず、タイプ文字列を使用していますか?すべてのことを理解することはできません。 – Eiko

+0

基本的には、文字列ヘッダーファイルを使用せずに「Welcome to hello world」を印刷したいと考えています。だから私のプログラムをコンパイルするとき、私は 'hello world'として文字列tを入力します。しかし、最終的な文字列を表示するときは、「ウェルカム・トゥ・ハロー・ワールド」ではなく「ウェルカメオ」として表示されます。 –

答えて

0

空白文字で区切られた単語を1つだけ入力できるようにする演算子>>の代わりにstd::getlineを使用します。たとえば

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string s = "Welcome"; 
    std::string t, k; 

    std::getline(std::cin, t); 
    k = s + ' ' + t; 

    std::cout << k << std::endl; 

    return 0; 
} 
+0

申し訳ありませんが、私は文字列ヘッダーファイルの使用なしでそれを行うつもりです。だから私はstd :: getlineは文字列ヘッダファイルなしで使用することはできませんでした。 –

+0

@SMahajan標準クラスのstd :: stringを使用している場合は、いずれの場合でもヘッダを含める必要があります。

+0

Dev-C++でコンパイルしたとき。ヘッダなしで実行しました

関連する問題