だから私は、私が作成した2枚のASCIIの写真を取り、それらを並べて印刷します方法、そのメソッド呼び出しにする必要があります。C++:2つのASCII画像を並べて印刷するには?
画像は文字列としてASCIIの画像を格納するオブジェクトであるconcatHz(Picture l, Picture r);
をフィールドl.resultとr.resultにあります。
rは
+------+
|This |
|is the|
|String|
+------+
とLであった場合は、次の
This
is the
String
、結果は次のようになります。
This +------+
is the|This |
String|is the|
|String|
+------+
私はこれを行う方法を考えてきたが、彼らがいるようです複雑すぎると簡単な方法があるかもしれません。私はforループを使用して各文字列の行を調べて最初の文字列を印刷し、次に2番目の文字列を印刷することを考えていましたが、上記の例のようにインデックスエラーの問題が発生します。これを行う簡単な方法はありますか?私は考えていませんか?あなたは既に画面の内容を表すために文字列のベクトルを使用している
Picture Picture::create(std::vector<std::string> v){
Picture c; //default constructor called without parenthesis
c.picList=v;
c.result="";
int max1=0;
for(int i=0;i<v.size();i++){
if(v.at(i).length()>max1){
max1=v.at(i).length();
}
c.rows++;
c.result+=v.at(i)+"\n";
}
c.maxLen=max1;
return c;
}
何を考えているのはそれができるほど単純です。物事を正確に「索引付け」して、最後の行の最初の画像に存在しない行の代わりに空白のセットを印刷するだけです。これはロケット科学ではない。論理的には単純である。 –
'Picture'データ構造がどのように見えるかによって異なります。 –
主なことは、新しい行の\ nを持つasciiの表現としてresultという文字列を格納することです。 –