工作过程中,把写代码过程比较好的代码片段做个记录,如下的代码段是关于C++按单词换行的函数的代码,希望对码农也有用途。
This function takes a string and an output buffer and a desired width. It then copies
the string to the buffer, inserting a new line character when a certain line
length is reached. If the end of the line is in the middle of a word, it will
backtrack along the string until white space is found.
#include <string.h>
#include <ctype.h>
int i = 0;
int k, counter;
while(i < strlen( string ) )
{
for ( counter = 1; counter <= line_width; counter++ )
{
if ( i == strlen( string ) )
{
buffer[ i ] = 0;
return buffer;
}
buffer[ i ] = string[ i ];
if ( buffer[ i ] == 'n' )
{
counter = 1;
}
i++;
}
if ( isspace( string[ i ] ) )
{
buffer[i] = 'n';
i++;
}
else
{
for ( k = i; k > 0; k--)
{
if ( isspace( string[ k ] ) )
{
buffer[ k ] = 'n';
i = k + 1;
break;
}
}
}
}
buffer[ i ] = 0;
return buffer;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。