我有以下部分代码:
for(int i=0;i<n;i++)
{
printf("Student %d\n",i+1);
printf("Enter name : ");
scanf("%s",&(student+i)->name);
fflush(stdin);
lengthName = strlen((student+i)->name);
while(lengthName !='\0')
{
}}
当长度小于10时,它会添加连字符,直到达到最大尺寸。 例如:John =>> 将添加 6 个连字符
我知道如何在 csharp 中执行此操作,但无法在 c 中弄清楚。 你们中的一些人可以给我一些灯吗?
PS:哦,是的,变量名是 char name[10+1],它是名为 student 的结构的一部分。
最佳答案
这太简单了,看来我一定漏掉了什么。
lengthName = strlen(student[i].name);
while (lengthName < 10)
student[i].name[lengthName++] = '-';
student[i].name[lengthName] = '\0';
也许您对 C#(假定)拥有一流的字符串类型感到困惑? C中没有这样的东西,只有字符数组;这既乏味(您必须自己完成所有内存管理)又解放(如您所见)。
关于c - 如何添加字符以达到 char[] 的最大大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4501485/