Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2012, 23:20   #1
Aero93
Пользователь
 
Регистрация: 05.01.2012
Сообщений: 11
По умолчанию [C++]Запись в структуру из файла

Добрый вечер! Я никак не могу понять как правильно считать из заранее созданного файла что-либо в структуру, так чтобы не было лишних символов и других косяков...
PHP код:
struct time {
       
char server[6];
       
char name[4];
       
char player[4];
       
char rank[5];
       
p(){ memset server06);
            
memset name04);
            
memset player04);
            
memset rank,5);} } m;
       
FILE *fp;
       
fp=fopen("stat.txt""r");
       
fread(&sizeof(time), 1fp);
       
Edit1->Text=m.server;
       
Edit2->Text=m.name;
       
Edit3->Text=m.player;
       
Edit4->Text=m.rank
Тоесть , у меня есть заранее созданный файл со структурированной записью нужных мне строк(Server Name Player Rank) и нужно записать это в соответствующую структуру и вывести в поля Edit'ов. Но при моем коде получается , что в Server записывается все, что идет в строчке, в Name записывается все, кроме Server и так далее. Прошу помощи.
Aero93 вне форума Ответить с цитированием
Старый 11.07.2012, 16:17   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,330
По умолчанию

Только в общих чертах:
Вы читаете строку из текстового файла.
Из строки извлекается такое число символов, которое равно размеру Вашей структуры. Считанная строка завершается символом конца строки - \n.
В ОЗУ поля структуры примыкают друг к другу, и по-этому прочитанные символы заполняют структуру без разделителей (окончание строки - \n).
Когда Вы проверяете значение первого поля структуры, то Вам выдается вся строка до символа \n. Соответственно, когда Вы обращаетесь к следующему полю структуры, то Вам выдается вся строка с позиции, которую занимает следующее поле структуры.
Предполагаю, что строку текстового файла либо надо обработать - поделить на соответствующие куски, и присвоить их элементам структуры, либо считывать для каждого элемента структуры отдельно. Следует учитывать при этом и тот момент, что слова могут быть разной длинны и для правильного их считывания они (слова или фразы) должны быть выровнены в текстовом файле по столбцам.
А что было-бы, если какие то поля структуры были числовыми.

Как-то так получается ...
Как-то так, ...

Последний раз редактировалось ViktorR; 11.07.2012 в 16:21.
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу удалить структуру из файла... mastero444ek Общие вопросы C/C++ 1 06.05.2012 21:25
Чтение из файла и запись в структуру. asmars Общие вопросы C/C++ 3 06.04.2012 19:04
Дублирует структуру при считывании из файла RaTeN Общие вопросы C/C++ 2 05.10.2011 00:28
Чтение с файла в структуру trance-boy Общие вопросы C/C++ 6 08.11.2010 00:11
Упорядочить структуру файла. Guinsoo Microsoft Office Excel 3 03.07.2009 12:38