用c+格式设置文本格式+;方式 我尝试制作一个C++函数,可以格式化我的文本输出:
#0 id:80 #1 id:80 #2身份证号码:80 #3 id:80 等等 在函数中有一个名为max的参数来限制输出量,如: 如果最大参数设置为10,则最多只能打印/输出10次: #0 id:80 #1 id:80 #2身份证号码:80 #3 id:80 #4身份证号码:80 #5 id:80 #6 id:80 #7 id:80 #8 id:80 #9 id:80 #10 id:80 我试图做的是下面的代码,但它没有按照我想要的那样工作:用c+格式设置文本格式+;方式 我尝试制作一个C++函数,可以格式化我的文本输出:,c++,C++,#0 id:80 #1 id:80 #2身份证号码:80 #3 id:80 等等 在函数中有一个名为max的参数来限制输出量,如: 如果最大参数设置为10,则最多只能打印/输出10次: #0 id:80 #1 id:80 #2身份证号码:80 #3 id:80 #4身份证号码:80 #5 id:80 #6 id:80 #7 id:80 #8 id:80 #9 id:80 #10 id:80 我试图做的是下面的代码,但它没有按照我想要的那样工作: void format_text(int max)
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);
}
void格式_文本(int max){
字符缓冲区[100];
静态整数量;
对于(整数x=0;x金额){
长度+=sprintf(缓冲区+长度,#%d id:%d\n),数量,80);
printf(“%s”,缓冲区);
}
请帮助我创建一个我为您描述的函数也许您想要的是一个
ostringstream
:
std::string Buffer;
std::ostringstream oss;
//...
oss << "#" << amount << " id: " << 80 << "\n";
//...
Buffer = oss.str();
std::字符串缓冲区;
std::ostringstream oss;
//...
oss也许你想要的是一个ostringstream
:
std::string Buffer;
std::ostringstream oss;
//...
oss << "#" << amount << " id: " << 80 << "\n";
//...
Buffer = oss.str();
std::字符串缓冲区;
std::ostringstream oss;
//...
oss(您在“it most print/output only 10 times”之后的示例包含11行。)static
表示您第二次调用format\u text
,amount
仍将具有与第一次调用结束时相同的值。这是有意的吗?(您在“it most print/output only 10 times”之后的示例)包含11行。)静态
表示第二次调用格式文本
,金额
仍将与第一次调用结束时的值相同。这是故意的吗?