#c #structure
#c #структура
Вопрос:
У меня проблема с печатью значений внутри файла, когда я отображаю все значения внутри моего файла, они отображаются по одному рядом друг с другом, а не вниз.
Вот мой код:
void listaPacientes(int opcion)
{
FILE *fp;
struct paciente p;
fp=fopen(fname,"rb");
printf("n========================================================nn");
printf("tt Lista de pacientesnn");
printf("========================================================nn");
printf("NombretApellidotTelefonotCama_IDnn");
while(1)
{
fread(amp;p,sizeof(p),1,fp);
if(feof(fp))
{
break;
}
printf("%st",p.nombre);
printf("%st",p.apellido);
printf("%st",p.telefono);
printf("%dt",p.cama_id);
}
printf("========================================================nn");
fclose(fp);
}
Ответ №1:
Просто измените final t
на n
в printf("%dt",p.cama_id);
void listaPacientes(int opcion)
{
FILE *fp;
struct paciente p;
fp=fopen(fname,"rb");
printf("n========================================================nn");
printf("tt Lista de pacientesnn");
printf("========================================================nn");
printf("NombretApellidotTelefonotCama_IDnn");
while(1)
{
fread(amp;p,sizeof(p),1,fp);
if(feof(fp))
{
break;
}
printf("%st",p.nombre);
printf("%st",p.apellido);
printf("%st",p.telefono);
printf("%dn",p.cama_id); //<- here the modification
}
printf("========================================================nn");
fclose(fp);
}
Ответ №2:
Вы просто пропускаете новую строку внутри цикла. Это можно легко решить, добавив puts("n")
(или printf("n")
, если вы действительно хотите).
Обратите внимание, что вы также можете просто объединить все в один printf
вызов, который заканчивается на новой строке:
printf("%st%st%st%dn", p.nombre, p.apellido, p.telefono, p.cama_id);