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

 



- Текстовая версия 14.03.2025 8:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name