С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.69
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
#1

не понимаю момент \0 - C++

27.10.2009, 19:51. Просмотров 8570. Ответов 26

C++
1
2
3
4
5
6
7
string s;
cin>>s;
int n=0;
int w=0;
while(s='\0'){
++n;
if(s=' ')++w;
ошибки
Error 1 error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) c:\documents and settings\ag\my documents\visual studio 2008\projects\proba\proba\code.cpp 13 proba
Error 2 error C2451: conditional expression of type 'std::basic_string<_Elem,_Traits,_Ax>' is illegal c:\documents and settings\ag\my documents\visual studio 2008\projects\proba\proba\code.cpp 16 proba
Error 3 error C2451: conditional expression of type 'std::basic_string<_Elem,_Traits,_Ax>' is illegal c:\documents and settings\ag\my documents\visual studio 2008\projects\proba\proba\code.cpp 18 proba
что не так?Объясните мне когда нужн юзать \0????или же в данном случае что буде правильнее?как объяснить компилятору,что мне нужен конец строки?

Добавлено через 57 секунд
и EOF попробовал,тоже самое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2009, 19:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не понимаю момент \0 (C++):

Не Понимаю С++ - C++
есть какие нибудь проги которые обясняют как раскладывать задачку(пример) написания в С++

С++ не понимаю - C++
1. сумму элементов массива с нечетными номерами; 2. сумму элементов массива, расположенных между первым и последним отрицательными...

Не понимаю CALLBACK - C++
Всем привет! Помогите пожалуйста разобраться: хочу в коснтрукторе объекта передавать указатель на функцию этого объекта и потом...

Указатели. Не понимаю - C++
Разбираю указатели, слегка запнулся на одном месте. У меня есть функция: void Dit(int &amp;x) { x *= 2; } Использую я в...

isdigit() не понимаю - C++
Здрасти всем! Не могу понять, почему isdigit() неверно себя ведет. Точнее абсолютно наоборот. #include &lt;iostream&gt; const int...

не понимаю ошибку - C++
Написать программу, решающую задачу линейного поиска элемента в заданном вещественном массиве. _____ при вводе единицы выводит 0, ...

26
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
27.10.2009, 20:48  [ТС] #16
Цитата Сообщение от TanT Посмотреть сообщение
поробуй закоментить using namespace std;
ну да...и это не пойму,почему всем кажется что это только ламеры делают так?
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
27.10.2009, 20:55 #17
Цитата Сообщение от МедведЪ Посмотреть сообщение
ну да...и это не пойму,почему всем кажется что это только ламеры делают так?
МедведЪ, без паники, ты тут наверно единственный кто пытается вникнуть и понять, а не просто кричать ПАмагите!!! что уже достойно уважения

я тебе без всякого ехидства рекомендую почитать литературу из ФАКа по языку. Я вот "Освой самостоятельно С++ за 21 день" дочитываю, говорят хорошая вот решил проверить. хоть многое уже в других чиатл, всё равно есть чему поучиться

Добавлено через 1 минуту
совсем если затор будет спрашивай, только формулируй чётко вопрос. потому что правильно сформулированный вопрос уже половина ответа (с) сам пока будешь придумывать как сказать о решении догадаешься, бывает и такое
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
27.10.2009, 23:05  [ТС] #18
Цитата Сообщение от TanT Посмотреть сообщение
ты тут наверно единственный кто пытается вникнуть и понять, а не просто кричать ПАмагите!!! что уже достойно уважения
ахах ну спасибоно во всяком случае не единственный

Не по теме:

ксттаи решил КиР бросить,тут,на форуме говорят что с Левым переводом,да и компилятор много ругается...страуструп сойдет мне?


ну все же,по делуу меня ошибки...

Добавлено через 1 час 48 минут
TanT, ладно,скажи мне почему тут ошибка?
C++
1
2
string s;
cin>>s;
?
и какой синтаксис функции strlen?
0
M128K145
Эксперт С++
8300 / 3520 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
28.10.2009, 00:34 #19
МедведЪ, тебе надо считать до нажатия ентера? Если да, то попробуй такой вариант
C++
1
getline(cin, s, '\n');
где cin - поток, s - строка, '\n' - символ, до которого считывать
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
28.10.2009, 01:59 #20
Цитата Сообщение от МедведЪ
ксттаи решил КиР бросить,тут,на форуме говорят что с Левым переводом,да и компилятор много ругается...страуструп сойдет мне?
нужно бумажную брать и обе, Страуструпа не потянешь, так как он приводит примеры со структурами, которые нужно знать уже
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
28.10.2009, 09:06  [ТС] #21
accept, а я думал что это с нуля как и КиР учит
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
28.10.2009, 10:42 #22
там, например, есть
конкатенация строк


C++
1
2
3
4
5
6
7
8
9
10
11
 
#include <iostream>
 
using namespace std;
 
int main(void)
{
 
    cout << "o" "n" "e" << endl;
    return 0;
}
, но она была до C++, поэтому в книге про неё ничего нет, то есть её уже нужно знать

про указатели тоже ничего подробного не будет, так вскользь, как напоминание про что речь

Добавлено через 2 минуты
сами понятия контрольных символов endl == '\n' и ends == '\0' и как вообще записать один контрольный символ, про это уже написано
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
28.10.2009, 11:17  [ТС] #23
Цитата Сообщение от accept Посмотреть сообщение
про указатели тоже ничего подробного не будет, так вскользь, как напоминание про что речь
у меня с этим геморой
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,200
Завершенные тесты: 1
28.10.2009, 14:32 #24
Цитата Сообщение от accept Посмотреть сообщение
сами понятия контрольных символов endl == '\n' и ends == '\0'
endl и ends - это функции, они никак не равны символам.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int main()
{
    ostream& (*myEndl)(ostream&) = endl;
    cout << "123" << myEndl << "456";
    myEndl(cout);
    cout << "789";
    cin.peek();
}
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
29.10.2009, 03:58 #25
МедведЪ, в К & R всё расписано, правда, надо изучать сначала, то есть, сразу читать раздел про указатели смысла нет, он всё время опирается на материал, который уже выдал

Цитата Сообщение от Somebody
endl и ends - это функции, они никак не равны символам.
а я думал они возвращают
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,200
Завершенные тесты: 1
29.10.2009, 15:26 #26
Цитата Сообщение от accept Посмотреть сообщение
а я думал они возвращают
Тогда бы надо было скобки ставить после них. А так endl ещё и flush делает.
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
30.10.2009, 05:43 #27
я думал << достаёт из endl символ '\n' и таким образом он возвращается, я вообще не думал, что endl проводит действия, что-то вроде объекта, в котором хранится текущий перевод строки, подходящий для системы
потом я подумал, что, раз это функция, то сам endl возвращает '\n', а скобки, так их нет у <<, но он значение может вернуть
0
30.10.2009, 05:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2009, 05:43
Привет! Вот еще темы с ответами:

Не понимаю записи - C++
Немогу понят что к чему const Vector2D&amp; Vector2D::Zero() { static Vector2D zero(0.0f, 0.0f); return zero; } Наиболее...

Не понимаю вопроса - C++
Что сие означает? я имею ввиду часть &quot;по убыванию элементов такого-то столбца&quot;

чуть не понимаю.. - C++
1. Управление автомобилем. 2. Поездка на автомобиле. 3. Повреждение автомобиля. 4. Выбор автомобиля для покупки. 5. Диагностика...

Не понимаю вызовы - C++
Абсолютно не понимаю вызовы. Учусь по книге Страуструпа. ... void print_square(int v); { cout&lt;&lt;v&lt;&lt;'\t'&lt;&lt;v*v&lt;&lt;endl; } int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.