Неправильная запись в файл - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Помогите, пожалуйста, найти ошибку в программе. В файл вводятся одни иероглифы((
#include<stdio.h>
#include<stdlib.h>
 
struct hardware
{
    int record;
    char *name;
    int quantity;
    float price;
};
 
typedef struct hardware List;
 
void createFile(List []);
 
main()
{
    int i;
    List hardw[100];
 
    for(i = 0; i < 100; i++)
    {
        hardw[i].record = i + 1;
        hardw[i].name = "unnamed";
        hardw[i].quantity = 0;
        hardw[i].price = 0.0;
    }
    createFile(hardw);
 
    system("pause");
}
 
void createFile(List hardw[])
{
    FILE *ptr;
    
    ptr = fopen("hardware.dat", "w+");
    fwrite(hardw, sizeof(List), 100, ptr);
    fclose(ptr);
}

Решение задачи: «Неправильная запись в файл»

textual
Листинг программы
>>> ord('a')
97
>>> hex(ord('a'))
'0x61'
>>>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5