Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 27.11.2014, 03:48   #1
Женька Good
Форумчанин
 
Регистрация: 15.03.2011
Сообщений: 126
По умолчанию Ошибка с вычитанием указателей

Здравствуйте, пишу прогу для чтения из файла. На выделенные указатели ругается, мол от указателя можно отнимать только указатель.

Код:
	file = fopen("task_1.txt", "rt");
	if (file == NULL)
	{
		std::cout << "Can't open file";
	}
	//while (feof(file))
	//{
	fscanf(file, "%s", mas);

	char * p1 = strchr(mas, ',');
	strcpy(Familiya, mas, p1-1);

	char * p2 = strchr(p1 + 1, ',');
	strncpy(group, p1 + 1, p2 - p1 - 1);

	char * p3 = strchr(p2 + 1, ',');
	strncpy(mark1, p2 + 1, p3 - p2 - p1 - 1);

	char * p4 = strchr(p3 + 1, ',');
	strncpy(mark2, p3 + 1, p4 - p3 - p2 -p1 - 1);

	p1 = strchr(mas, ';');
	strncpy(mark3, mas, p1 - 1);
Женька Good вне форума Ответить с цитированием
Старый 27.11.2014, 07:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Э-э-э... А что этот код должен делать?
Может было бы лучше strtok() использовать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.11.2014, 09:06   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Код:
strcpy(Familiya, mas, p1-1);
С каких пор у нее 3 параметра?

Цитата:
На выделенные указатели ругается, мол от указателя можно отнимать только указатель.
Приводите ошибку, а не свои домыслы. Скорее он ругается, что ему там нужен размер, а получается указатель - сделайте приведение типа.
p51x вне форума Ответить с цитированием
Старый 27.11.2014, 18:10   #4
Zenon
Пользователь
 
Регистрация: 03.07.2014
Сообщений: 32
По умолчанию

например p3 - p2 - p1 - 1

p3 - p2 ------ вычитание указателя из указателя, дает целое число, скажем, X
далее
X - p1 ------- вычитание указателя из целого числа - смысла не имеет
Zenon вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор значений со сложением и вычитанием(вопрос) feromonus Microsoft Office Excel 3 19.08.2013 19:32
Разыменование указателей alexander3 Помощь студентам 1 09.12.2012 01:47
Массивы указателей beetle Общие вопросы C/C++ 5 05.01.2012 06:38
Массив указателей nattaella Компоненты Delphi 2 11.06.2011 15:40
О сущности указателей... Alexcomeback Общие вопросы C/C++ 6 03.04.2009 18:17


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840