gpt4 book ai didi

c - (C) 从文本文件读取结构

转载 作者:行者123 更新时间:2023-11-30 17:42:42 26 4
gpt4 key购买 nike

我正在尝试将多个不同的数据类型(char、int、float)从文本文件直接读取到结构中。

readData() {
char filename[100];
int linesread;
int i = 0;

printf("Enter the assets text file that you wish to read: \n");
scanf("%s", filename);

if ((fp = fopen(filename, "r")) == NULL) {
printf("Error opening data file\n");
readData();
} else {
while (fscanf(fp, "%s %c %s %lf %lf %d %d %d", &assets[i].name, &assets[i].type, &assets[i].location, &assets[i].longi, &assets[i].lati, &assets[i].speed, &assets[i].fuelTime, &assets[i].readyTime != EOF)) {
i++;
}
}
fclose(fp);
linesread = i;

for (i = 0; i < linesread; i++) {
printf("%s %s %s %lf %lf %d %d %d\n", &assets[i].name, &assets[i].type, &assets[i].location, &assets[i].longi, &assets[i].lati, &assets[i].speed, &assets[i].fuelTime, &assets[i].readyTime);
}

这应该读出这个(当它决定合作时)并将其保存到结构中:

 Angle_Lifeboat L Angle 51.685 -5.102 25.0 600 120
Angle_ILB L Angle 51.685 -5.102 25.0 180 30
Broad_Haven_ILB L Broad_Haven 51.713 -5.113 25.0 180 30

而是阅读此内容

ngle_Lifeboat LAngle Angle 0.000000 0.000000 0.000000 4231936 4231940
Angle_ILB LAngle Angle 0.000000 0.000000 0.000000 4232008 4232012
Broad_Haven_ILB LBroad_Haven Broad_Haven 0.000000 0.000000 0.000000 4232080 4232084

我对 C 还很陌生,所以对我要宽容一些。我们将非常感谢您提供的任何帮助

编辑:结构-->

 typedef struct assets{
char name[25];
char type[1];
float longi;
float lati;
char location[20];
int speed;
int fuelTime;
int readyTime;
} assets;

最佳答案

在 C 编程中,我确实认为已经有一个内置函数可以执行上述操作......尝试使用 fread http://www.tutorialspoint.com/c_standard_library/c_function_fread.htm

关于c - (C) 从文本文件读取结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444455/

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