標準入力から受け取った文字列をstringにいれてその文字列の特定の場所で改行を入れたいです。
また、受け取る文字列の大きさはその時々で変わります。
例えば48文字の文字列を受け取り、6文字ごとに改行を入れたいとします。
c++
1#include <iostream> 2#include <string> 3#include <stdio.h> 4 5using namespace std; 6int main(void) { 7 8 9 int N, M, L; 10 11 12 13 cin >> N >> M >> L; 14 cout << N << M << L << endl; 15 string str; 16 string strCopy; 17 string strDuplicate; 18 19 for(int i=0;i<N;++i){ 20 cin>>str; 21 strCopy += str; 22 } 23 auto first = strCopy.begin(); 24 // Lには6が入っている。 25 strCopy.insert(first + L, '\n'); 26 27 28 cout<<strCopy; 29 30}
自分はこのようにinsertでL文字目に改行を入れようと試みました。もちろん、これだと一回しか改行がされないため最初の行は6文字になるのですが、そのあとは改行されません。ここまで自力でできたのですがここからどうやって6文字ごとに改行していけばよいかわかりません。
for文で回してもうまくいきません。
どのように考えていくか教えていただきたいです。
↓が今の状態です。これを6文字ごとに改行していきたいです。
hhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。