IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Формирование структуры из файла, на языке C
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Приветствую всех, вот делаю расчётку по программированию ( на языке C, простая консольная программка (если так её можно назвать))и столкнулся с трудностями. Суть в следующем... Я оформил файл (текстовый) в таком виде:
111 о ууу
В общем 3 слова разделённых пробелами.
И вот таких записей может быть много. Мне нужно считать это всё в структуру из трёх элементов. Вот что я написал, но почему-то ерунда выходит... подскажите ещё способы какие-нибудь пожалуйста. Или укажите ошибку.


int i,j;
FILE *fp;
char tmp[10], tmp_t[10], tmp_k[10];
struct {
char num;
char tip;
char klv;
}tab[50];
clrscr();
while (1)
{
mg=zapisey();
fp=fopen("ras.txt","r+");
for(i=0; i<=mg; i++) {
fscanf(fp,"%s", *tmp);
tab[i].num=*tmp; printf("%s\n", tab[i].num);
fscanf(fp,"%s", *tmp_t);
tab[i].tip=*tmp_t; printf("%s\n", tab[i].tip);
fscanf(fp,"%s", *tmp_k);
tab[i].klv=*tmp_k; printf("%s\n", tab[i].klv);
fclose(fp);
printf("%s %s %s", tab[i].num, tab[i].tip, tab[i].klv);
};


Суть в том, что мне потом эту структуру нужно будет функции передать (или указатель на неё) для дальнейшего решения задачи.
За ранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






struct {
char num;
char tip;
char klv;
} tab[50];
Здесь у тебя в записи хранятся 3 символа.

Если надо строки -
struct {
char num[10];
char tip[10];
char klv[10];
} tab[50];


Кроме этого, копировать строки вот так:
tab[i].num=*tmp;
нельзя, для копирования строк существует функция strcpy (в файле string.h), а приведенный фрагмент просто скопирует первый символ...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 19.12.2017 5:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"