1

テキスト出力を次のようにフォーマットできる C++ 関数を作成しようとしています。

#0 ID: 80

#1 ID: 80

#2 ID: 80

#3 ID: 80

等...

次のように、出力の量を制限する関数にmaxというパラメーターがあります。

max パラメータが 10 に設定されている場合、ほとんどの場合、印刷/出力は 10 回だけです。

#0 ID: 80

#1 ID: 80

#2 ID: 80

#3 ID: 80

#4 ID: 80

#5 ID: 80

#6 ID: 80

#7 id:80

#8 id:80

#9 id:80

#10 id:80

私がやろうとしたのは、このコードの下にありますが、私が望んでいたようには機能しません:

void format_text(int max){

char Buffer[100];

static int amount;

for (int x = 0; x <= max; x++){

amount ++;

if (max > amount){

length += sprintf(Buffer+length,"#%d id: %d\n", amount, 80);

printf("%s", Buffer);

}

私があなたのために説明したように機能を作るのを手伝ってください

4

1 に答える 1

5

おそらくあなたが求めているのはostringstream

std::string Buffer;
std::ostringstream oss;

//...
    oss << "#" << amount << " id: " << 80 << "\n";
//...

Buffer = oss.str();
于 2013-04-19T18:52:27.020 に答える