|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.04.2008, 22:24 | #1 |
Пользователь
Регистрация: 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; } } .................. Надеюсь, нормально объяснил. Просьба сказать как правильно, или как лучше.. Заранее спасибо! |
05.04.2008, 22:29 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
char nl = '\n';
|
05.04.2008, 22:29 | #3 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Строки (char*) задаются двойными кавычками. Отдельные символы - одиночными.
Код:
|
05.04.2008, 22:32 | #4 |
Форумчанин
Регистрация: 03.02.2008
Сообщений: 213
|
Нужно в одинарных кавычках написать,
типа так char nl='\n'; Двойние кавычки пишуться тогда когда нужно строку записать! Немного опоздал с ответом :-)
Пишу программы на заказ, контакты под аватаром!
Отзывы тут Последний раз редактировалось Stepler; 05.04.2008 в 22:36. Причина: Опоздал с ответом :) |
05.04.2008, 22:42 | #5 |
Пользователь
Регистрация: 14.03.2008
Сообщений: 21
|
Всем спасибо )
Еще возник вопрос. Программа компилируется, но почему-то не выполняется тело if'а. В итоге получается не несколько строк, которые загоняются в zap, а одна строка.. Содержание файла: строка1 строка2 строка3 строка4 Почему так? |
05.04.2008, 23:50 | #6 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
Код:
|
|
06.04.2008, 00:05 | #7 | |
Пользователь
Регистрация: 14.03.2008
Сообщений: 21
|
B_N, нет, не задумано )
Но ведь проблема все равно не в этом? Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удвоить каждый символ строки, потом перевернуть строку | 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 |