gpt4 book ai didi

c - fread (.txt) 中的奇怪符号

转载 作者:行者123 更新时间:2023-11-30 19:43:02 25 4
gpt4 key购买 nike

晚上好!我正在为我的编程课完成一个任务,我必须编写一个程序(使用 Dev-c++)来读取和显示有关 .txt 文件中的项目的信息,然后提供一个选项来搜索和获取有关特定文件的信息(按名称搜索)。然而,每当我编译代码时,它都不会显示书面项目,只会显示大量没有意义的乱码。我查了一下,发现问题可能与读入数据后没有添加二进制0有关。是这样吗?如果这是一个非常简单的问题,我很抱歉,但我对编程真的很陌生,我真的需要一些帮助来理解问题所在:

    #include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#define N 3

int info()
{
printf ("Edgars Feldmanis \n");
printf ("Apl.nr. 131RMC074 \n");
printf ("8.var. punkts b \n");
printf ("Blokveida ievade \n \n");
}
int main()
{
struct preces
{
char Nosaukums[15],Cena[10],Razotajs[15],Daudzums[10],Deriguma_termins[15];
};


struct preces prece[N];
FILE *saraksts_st;
int i,n;
char x;
unsigned int garums;

do
{
printf("Izvelieties darbibu:\n");
printf("1.Informacija par autoru un variantu\n");
printf("2.Datu izvade un preces meklesana\n");
printf("3.Pabeigt darbu\n");
scanf("%d",&n);
system("cls");
if(n==1)info();
else if(n==2)
{
if((saraksts_st=fopen("preces.txt","r"))==NULL)
{
printf("Nevar atvert failu! \n");
exit(1);
}

garums=sizeof(prece[0]);
for(i=0; i<N && !feof(saraksts_st);i++)
fclose(saraksts_st);
printf("\nProduktu saraksts:\n");
saraksts_st=fopen("preces.txt","r");
printf("| Nosaukums | Cena | Razotajs | Daudzums | Termins | \n");


for(i=0;i<N;i++)
{printf("%|%15s | %10s | %15s | %10s | %15s |\n",prece[i].Nosaukums,prece[i].Cena,prece[i].Razotajs,prece[i].Daudzums,prece[i].Deriguma_termins);
};

printf("\nIevadiet meklejamas preces nosaukumu:\n");
scanf("%s",&x);
printf("| Nosaukums | Cena | Razotajs | Daudzums | Termins | \n");

for(i=0;i<N;i++)
{
if(prece[i].Nosaukums=="x")
{printf("|%15s | %10s | %15s | %10s | %15s |\n",prece[i].Nosaukums,prece[i].Cena,prece[i].Razotajs,prece[i].Daudzums,prece[i].Deriguma_termins);
};
}
getch();
return 0;
}

}
while(n!=3);
system("pause");
return 0;
}

最佳答案

不知道是否可以用%s指定printf中显示的字符数。该例程只是打印出数据,直到找到零字符为止。只需将字符串的最后一个字符设置为“\0”,看看是否可以解决问题。

关于c - fread (.txt) 中的奇怪符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30154119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com