我是C编程的新手。
我要做的是找到一种方法来冻结printf语句中的“|”,主要是代码右边的那些。
正如您在代码中看到的那样,如果我在那些生成可变数量字符的printf语句中放置任何内容,它会相应地将“|”移动到它生成的字符数量。
所以我希望看看是否有人可以帮助我,因此printf中生成的内容不会改变“|”的位置。
这是代码,这样你们就可以了解我正在谈论的内容。
#include <stdio.h>
int main ()
{
char Employee1_NameF[20];
char Employee1_NameL[20];
printf("Employee Name: ");
scanf("%s %s", &Employee1_NameF,&Employee1_NameL);
printf(" __________________________________________________________________________________________________ \n");
printf("| |\n");
printf("| |\n");
printf("|--------------------------------------------------------------------------------------------------|\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");;
printf("|__________________________________________________________________________________________________|\n");
printf("|--------------------------------------------------------------------------------------------------|\n");
printf("| THE FACE OF THIS DOCUMENT HAS A MULTICOLORED BACKGROUND ON WHITE PAPER |\n");
printf("|--------------------------------------------------------------------------------------------------|\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| %s %s |\n", Employee1_NameF, Employee1_NameL);
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("|__________________________________________________________________________________________________|\n");
}
答案 0 :(得分:3)
我不会破坏你的学习乐趣,只是给出一些提示。
printf
格式字符串中的 Sub Foo()
Dim x As String, matches As Boolean
x = "P123"
matches = (x Like "P" & Application.Rept("[0-9]", Len(x) - 1))
Debug.Print matches
End Sub
和strlen
以及%<width>s
说明符是您的朋友。阅读它们可能对你有帮助。
例如,比较
的输出%<-width>s
V / S
printf("<%8s%8s>\n", "foo", "bar");
V / S
printf("<%-8s%-8s>\n", "foo", "bar");
并使用一些数学。
实现此功能的另一种方法是准备固定长度的字符串,以便即时打印。