每n个字符打印一个换行符

时间:2013-12-02 22:19:49

标签: c++

我正在尝试打印一个字符数组,但我想在固定数量的字符后打印换行符。到目前为止,我只能在读取第一个固定数量的字符后打印换行符。谁能指出我正确的方向?

    for ( int i = 0; i < (m_nWidth*m_nHeight); i++) {
        if (i != m_nWidth)
            cout << pMyPointer[i];
        else
        {
            printf("\n");
        }
    }

2 个答案:

答案 0 :(得分:4)

if( i % n == 0 && i != 0 ) printf("\n");

其中n是换行符之间的字符数。


编辑: 在完整的背景下:

#include <iostream>

int main()
{
    const int n = 5;
    const std::string str("abcdefghijklmnopqrstuvwxyz");
    for (int i=0 ; i<str.size() ; ++i)
    {
        if (i%n == 0 && i != 0)
            std::cout << '\n';
        std::cout << str[i];
    }
    std::cout << std::endl;
    return 0;
}

答案 1 :(得分:3)

您可以使用模块运算符:

if(i % n == 0)
 printf("\n");