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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2008, 22:24   #1
Retiz
Пользователь
 
Регистрация: 14.03.2008
Сообщений: 21
По умолчанию как присвоить char'у символ перевода строки?

язык: C++
Предисловие: есть класс zap. Каждый экземпляр хранит 4 строки.
Ниже кусок кода, который читает файл с записями (каждая запись на новой строке), загоняет их в zap.. когда прочитаны 4 строки, кладет zap в контейнер и читает дальше..
Для определения конца строки переменной типа char присваивается "\n", с которой потом сравнивается прочитанный char из файла.
Но компилятор ругается: invalid conversion from `const char*' to `char'
..............
char tc;
char *tmp;
int nobj=0,nel=0;
char nl="\n"; // вот это место!
vector<zap> mas;
zap tmpms;

while(!file.eof())
{
file >> tc;
if(tc==nl) {
nel++;
if(nel>3)
{
nel=0; nobj++;
mas.push_back(tmpms);

tmpms.clrzap();
}
//------
}
switch (nel)
{
case 0: tmpms.str1 +=tc;
case 1: tmpms.str2 +=tc;
case 2: tmpms.str3 +=tc;
case 3: tmpms.str4 +=tc;
}
}
..................
Надеюсь, нормально объяснил.
Просьба сказать как правильно, или как лучше..
Заранее спасибо!
Retiz вне форума Ответить с цитированием
Старый 05.04.2008, 22:29   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

char nl = '\n';
pu4koff вне форума Ответить с цитированием
Старый 05.04.2008, 22:29   #3
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Строки (char*) задаются двойными кавычками. Отдельные символы - одиночными.
Код:
char nl='\n';
B_N вне форума Ответить с цитированием
Старый 05.04.2008, 22:32   #4
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Нужно в одинарных кавычках написать,
типа так
char nl='\n';
Двойние кавычки пишуться тогда когда нужно строку записать!

Немного опоздал с ответом :-)
Пишу программы на заказ, контакты под аватаром!
Отзывы тут

Последний раз редактировалось Stepler; 05.04.2008 в 22:36. Причина: Опоздал с ответом :)
Stepler вне форума Ответить с цитированием
Старый 05.04.2008, 22:42   #5
Retiz
Пользователь
 
Регистрация: 14.03.2008
Сообщений: 21
По умолчанию

Всем спасибо )
Еще возник вопрос. Программа компилируется, но почему-то не выполняется тело if'а. В итоге получается не несколько строк, которые загоняются в zap, а одна строка..
Содержание файла:
строка1
строка2
строка3
строка4

Почему так?
Retiz вне форума Ответить с цитированием
Старый 05.04.2008, 23:50   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Retiz Посмотреть сообщение
Всем спасибо )
Еще возник вопрос. Программа компилируется, но почему-то не выполняется тело if'а. В итоге получается не несколько строк, которые загоняются в zap, а одна строка..
Содержание файла:
строка1
строка2
строка3
строка4

Почему так?
switch какой-то странный у Вас... Почему без break? Так задумано? Или всё-таки
Код:
switch (nel)
{
	case 0: tmpms.str1 +=tc; break;
	case 1: tmpms.str2 +=tc; break;
	case 2: tmpms.str3 +=tc; break;
	case 3: tmpms.str4 +=tc; break; // здесь не обязательно
}
И не пишите "в столбик", приходится копировать этот код и структурировать его у себя - не самое интересное занятие...
B_N вне форума Ответить с цитированием
Старый 06.04.2008, 00:05   #7
Retiz
Пользователь
 
Регистрация: 14.03.2008
Сообщений: 21
По умолчанию

B_N, нет, не задумано )
Но ведь проблема все равно не в этом?
Цитата:
И не пишите "в столбик"
А это как?
Retiz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удвоить каждый символ строки, потом перевернуть строку Didi Помощь студентам 6 20.05.2008 15:33
присвоить! sergei64_89 БД в Delphi 1 14.05.2008 17:15
Потоки и символ конца строки Deatz Общие вопросы C/C++ 3 07.05.2008 20:02
Извлечь число из строки и присвоить его переменной. Adamant Общие вопросы C/C++ 3 12.11.2007 07:24
Как присвоить апостраф? Apollo_13 Общие вопросы Delphi 3 08.08.2007 14:37