c - 将数据从文件写入 C 上的结构

标签 c file struct fwrite fread

我有一个文件,我想从中读取之前由另一个程序创建的数据,但出现段错误。这是程序。

typedef char Telemento[MAX_CHAR+5];

typedef struct{
   Telemento arraycola[NUM_ELEM];
   int inicio;
   int final;
}TCola;

typedef char TNombreImpresora[MAX_NOM_IMPR];

typedef struct{
   TNombreImpresora nombreimpresora;
   int numerodeficherosencola;
   TCola colaImpresora;
}TImpresora;

typedef struct{
   TImpresora impresora;
   int ocupado;
}TCelda;

typedef TCelda Tlistaimpresora[MAX_IMPR];



int main(){
    FILE *fp;
    int i=0;
    Tlistaimpresora listaimpresoras;



    fp=fopen("test.bin", "r");

    while(feof(fp)==0 && i<4){
       fread(&listaimpresoras[i].impresora, sizeof(listaimpresoras[i].impresora), (i+1), fp);
       listaimpresoras[i].ocupado=1;
       i++;
    }
    fclose(fp);


    return 0;   
}

感谢您的宝贵时间。如果有人需要更多信息,请告诉我。

最佳答案

我认为这一行有错误(应该是1,而不是i+1):

fread(&listaimpresoras[i].impresora, sizeof(listaimpresoras[i].impresora), 1, fp);

关于c - 将数据从文件写入 C 上的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27671798/

相关文章:

python - 在 Python 中读取文件的问题

java - Java中简单的逐行读取

c# - C# 16 字节结构限制是否意味着我不能在结构中使用字符串?

c++ - 使用指针处理动态结构表

c - 在 C 中构建格式字符串

java - 如何使用 java 将文件移动到另一个文件夹?

c - 如何使用宏进行 undefined reference

c - C语言中struct中字符串的使用

c - 在 C 中对数字进行符号扩展

c - 如何让右列垂直对齐