c++ - 以 C++ 方式格式化文本

标签 c++

我正在尝试制作一个可以像这样格式化我的文本输出的 c++ 函数:

#0 编号:80

#1 编号:80

#2 编号:80

#3 编号:80

等...

并且在函数中有一个名为ma​​x的参数来限制输出量,例如:

如果max参数设置为10,最多打印/输出10次:

#0 编号:80

#1 编号:80

#2 编号:80

#3 编号:80

#4 编号:80

#5 编号:80

#6 编号:80

#7 编号:80

#8 编号:80

#9 编号:80

#10 编号: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);

}

请帮助我实现我为您描述的功能

最佳答案

也许你想要的是一个ostringstream:

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

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

Buffer = oss.str();

关于c++ - 以 C++ 方式格式化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16111375/

相关文章:

c++ - while循环,好像什么都没做?

c++ - 从另一个线程中断 c++ 中的 lua 脚本?

c++ - 从 VB.Net 调用 C++ 方法,将字符串处理为字符串数组

c++ - gsl::gsl_vector 与 std::vector 开销和效率

c++ - 我应该按值还是按(右值)引用传递 std::function?

c++ - 如何从包含空格的文件中读取字符串 C++

c++ - 有什么方法可以在不复制的情况下从 std::ostringstream 获取 std::string_view ?

c++ - 使用命名管道 WinAPI 的异步 I/O

c++ - C++ 中的异步线程安全日志记录

c++ - 使用 libvlc smem 从视频中获取帧并将其转换为 opencv Mat。 (c++)