我想要一个20个字符的NULL('\ 0')终止字符串,用空格填充.
目前我正在以下列方式进行
char foo[20];
for (i = 0; i < num_space_req; i++) //num_space_req < 20
{
foo[i] = ' ';
}
foo[num_space_req] = '\0';
Run Code Online (Sandbox Code Playgroud)
上面有更好的方法吗?
Oli*_*rth 16
您可以使用以下命令将数组初始化为空格:
memset(foo, ' ', num_space_req);
foo[num_space_req] = '\0';
Run Code Online (Sandbox Code Playgroud)
小智 5
由于问题有一个C++标签,惯用的方法是:
std::fill(foo, foo + num_space_req, ' ');
// or
std::fill_n(foo, num_space_req, ' ');
Run Code Online (Sandbox Code Playgroud)
请注意,它在C中不起作用.