У меня есть функция, возвращающая указатель на строку в C, и я пытаюсь получить доступ ко всей строке, но я не знаю, как это сделать.
У меня есть функция, которая зацикливает бросает связанный список структур, содержащих данные ученика, и получает имена ученика. Я хочу заполнить пробелы на концах каждой строки, чтобы они все были одинакового размера. Поэтому я написал функцию для заполнения строк. Функция возвращает указатель на строку, но я не знаю, как получить доступ ко всей строке из указателя. Я знаю, что могу поставить * pstring, чтобы получить первый символ строки, но я немного растерялся, как получить остальные.
Это перебирает связанный список:
void myFunction(void) {
pStudent = pHead;
char paddedName[30];
long nameLength = 0 ;
while(pStudent->pNext != NULL){
printf("%c,\n", *padstring(pStudent->name));
strcpy(paddedName, padstring(pStudent->name));
nameLength = strlen(paddedName);
printf("%lu | %s | %s \n", nameLength, paddedName, pStudent->name);
pStudent = pStudent->pNext;
}
printf("\n");
}
Это дополняет и возвращает строку:
char *padstring(char* string){
char name[30];
int i = 0;
while(i < 30){
if(i < strlen(string)){
name[i] = string[i];
}
else{
name[i] = ' ';
}
i++;
}
printf("%s,\n", name);
return name;
}