1
我需要打印可变数字的给定字符与我的格式化输出。我正在寻找与VBA函数String(num,char)类似或相当的东西,但一直未能找到任何东西。我已经写了一个函数来完成这项工作,但如果有内置的东西,我很想知道。这是我的。为了测试的目的,我使用了argv []的草率实现。如何打印单个字符的可变长度字符串
我想打印出的东西是这样的;
这里是粗略的实施,我想出了;
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const char * make_string(int num, char character)
{
char *strchars = malloc(num);
for (int i = 0; i < num; i++)
strchars[i] = character;
return strchars;
}
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++) {
printf("%s\n", make_string(strlen(argv[i]),'_'));
printf("%s%c %s\n", make_string(strlen(argv[i]),'_'),'|', argv[i]);
}
}
是否有印刷重复这样的字符的字符串的库函数?
你的程序像内存风暴中的货物网顶一样泄漏内存。这对您的演示程序可能无关紧要,但最好养成确保您释放所有分配的内存的习惯。 –
另外,您必须确保为字符串终止符允许空格,并在每个字符串的末尾插入一个空格。 –
在任何情况下,C标准库都不包含您正在查找的功能。 –