C 在我的文件中打印值的函数有问题
我在打印文件中的值时遇到问题,当我显示文件中的所有值时,它们彼此相邻,而不是向下显示 这是我的密码:C 在我的文件中打印值的函数有问题,c,structure,C,Structure,我在打印文件中的值时遇到问题,当我显示文件中的所有值时,它们彼此相邻,而不是向下显示 这是我的密码: void listaPacientes(int opcion) { FILE *fp; struct paciente p; fp=fopen(fname,"rb"); printf("\n========================================================\n\n"); printf("\t\t
void listaPacientes(int opcion)
{
FILE *fp;
struct paciente p;
fp=fopen(fname,"rb");
printf("\n========================================================\n\n");
printf("\t\t Lista de pacientes\n\n");
printf("========================================================\n\n");
printf("Nombre\tApellido\tTelefono\tCama_ID\n\n");
while(1)
{
fread(&p,sizeof(p),1,fp);
if(feof(fp))
{
break;
}
printf("%s\t",p.nombre);
printf("%s\t",p.apellido);
printf("%s\t",p.telefono);
printf("%d\t",p.cama_id);
}
printf("========================================================\n\n");
fclose(fp);
}
只需将最后的
\t
更改为printf(“%d\t”,p.cama\u id)代码>
void listabacientes(国际选项)
{
文件*fp;
太平洋结构;
fp=fopen(fname,“rb”);
printf(“\n=====================================================================================\n\n”);
printf(“\t\t客户列表\n\n”);
printf(“========================================================================================\n\n”);
printf(“Nombre\tApellido\tTelefono\tCama_ID\n\n”);
而(1)
{
fread(&p,sizeof(p),1,fp);
if(feof(fp))
{
打破
}
printf(“%s\t”,p.nombre);
printf(“%s\t”,p.apellido);
printf(“%s\t”,p.telefono);
printf(“%d\n”,p.cama_id);//只需将最后的\t
更改为printf(“%d\t”,p.cama_id);
void listabacientes(国际选项)
{
文件*fp;
太平洋结构;
fp=fopen(fname,“rb”);
printf(“\n=====================================================================================\n\n”);
printf(“\t\t客户列表\n\n”);
printf(“========================================================================================\n\n”);
printf(“Nombre\tApellido\tTelefono\tCama_ID\n\n”);
而(1)
{
fread(&p,sizeof(p),1,fp);
if(feof(fp))
{
打破
}
printf(“%s\t”,p.nombre);
printf(“%s\t”,p.apellido);
printf(“%s\t”,p.telefono);
printf(“%d\n”,p.cama_id);//您只是在循环中缺少一个换行符。通过添加put(“\n”)
(或者printf(“\n”)
(如果您真的想这样做的话)可以很容易地解决这个问题
请注意,您也可以将所有内容合并到一个以换行符结尾的printf
调用中:
printf("%s\t%s\t%s\t%d\n", p.nombre, p.apellido, p.telefono, p.cama_id);
循环中缺少一个换行符。如果确实需要,可以通过添加put(“\n”)
(或printf(“\n”)
)轻松解决此问题
请注意,您也可以将所有内容合并到一个以换行符结尾的printf
调用中:
printf("%s\t%s\t%s\t%d\n", p.nombre, p.apellido, p.telefono, p.cama_id);