c++ - 将 printf 更改为 cout

标签 c++ printing cout

我对 C++ 还是有点不熟悉,需要一些使用 cout 的帮助。

int main()
{
    char letterGrades[25] = { 'a', 'b', 'c', 'd', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', };

    for (int i = 0; i < 25; i++)
    {
        printf("[%d] --> %c", i, letterGrades[i]);

        if (i == 3)      // how can I print \n when i == 7 , 11 , 15 , 19....
        {
            printf("\n");
        }
    }
}

这就是我正在尝试做的事情,而且效果非常好。但是,我不知道如何使用 cout 编写此代码。

另外,我会以 4 行表格格式打印结果。 所以结果看起来像这样

[0] --> A [1] --> A [2] --> A [3] --> A
[4] --> A [5] --> A [6] --> A [7] --> A
[8] --> A [9] --> A [10] --> A [11] --> A

最佳答案

其中的类cout是一个实例,它巧妙地重载为 <<适用于多种类型,包括char , int ,和const char[] (对于字符串文字):

所以你可以写

std::cout << "[" << i << "] --> " << letterGrades[i];

代替你的第一个printf

std::cout << "\n";

第二个。您可以使用"\t"将制表字符注入(inject)流中。

所有这些都会对性能造成轻微影响,这应该可以忽略不计。您平台上的 I/O。

此外,请考虑阅读 C++: "std::endl" vs "\n"供进一步研究。

最后,使用

if (i % 4 == 3){
    // i is 3, 7, 11, 15, 19, etc
}

用于定期换行的条件检查。 %余数运算符。

关于c++ - 将 printf 更改为 cout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42454130/

相关文章:

c++ - 值不显示在 cout 中

c++ - 指针模板清除函数的 vector 无法编译并显示 "undefined reference"消息

C++,变量恢复为初始值

c# - 以编程方式更改 WinForms WebBrowser 控件的目标打印机

C++ cout 和 enum 表示

c++ - 如何将 "cout"、 "cerr"、 "stdout"和 "stderr"从 C++ 程序定向到单个文件

c++ - 如何将字符串转换为 float 数组?

c++ - 单独的类模板声明和特化

java - 在 PersonaC30 证卡打印机上进行 Jpanel 打印

ruby - 在 ruby​​ 中捕获打印机数据流