Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.69
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,234
Завершенные тесты: 1
#1

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

27.10.2009, 19:51. Просмотров 8316. Ответов 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 попробовал,тоже самое
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2009, 19:51     не понимаю момент \0
Посмотрите здесь:

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

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

не понимаю. строки. - C++
значит надо написать программу., преобразующую введенный текст по Госту т е 1 буква заглавная, после запятой 1 пробел, между словами 1...

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

Не понимаю ошибку - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; int main() { int n,i; float a; printf (&quot;\n a=&quot;); scanf ...

Не понимаю программу на С++ - C++
Здравствуйте, есть такой код: #include&lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main () { int i; char s; ...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,234
Завершенные тесты: 1
28.10.2009, 09:06  [ТС]     не понимаю момент \0 #21
accept, а я думал что это с нуля как и КиР учит
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.10.2009, 10:42     не понимаю момент \0 #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' и как вообще записать один контрольный символ, про это уже написано
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,234
Завершенные тесты: 1
28.10.2009, 11:17  [ТС]     не понимаю момент \0 #23
Цитата Сообщение от accept Посмотреть сообщение
про указатели тоже ничего подробного не будет, так вскользь, как напоминание про что речь
у меня с этим геморой
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
28.10.2009, 14:32     не понимаю момент \0 #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();
}
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2009, 03:58     не понимаю момент \0 #25
МедведЪ, в К & R всё расписано, правда, надо изучать сначала, то есть, сразу читать раздел про указатели смысла нет, он всё время опирается на материал, который уже выдал

Цитата Сообщение от Somebody
endl и ends - это функции, они никак не равны символам.
а я думал они возвращают
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
29.10.2009, 15:26     не понимаю момент \0 #26
Цитата Сообщение от accept Посмотреть сообщение
а я думал они возвращают
Тогда бы надо было скобки ставить после них. А так endl ещё и flush делает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2009, 05:43     не понимаю момент \0
Еще ссылки по теме:

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

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

не понимаю код - C++
прокоментируйте пожалуйста код, я совсем не понимаю что здесь написано или переправьте на более простой само условие: &quot;Задан текст. ...

не понимаю условие!! - C++
Добрый день!!! Я взялся за самостоятельное изучение С++. Мой опыт составляет два дня)) Все что я изучил(пока) - линейные программы. Задачки...

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


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
30.10.2009, 05:43     не понимаю момент \0 #27
я думал << достаёт из endl символ '\n' и таким образом он возвращается, я вообще не думал, что endl проводит действия, что-то вроде объекта, в котором хранится текущий перевод строки, подходящий для системы
потом я подумал, что, раз это функция, то сам endl возвращает '\n', а скобки, так их нет у <<, но он значение может вернуть
Yandex
Объявления
30.10.2009, 05:43     не понимаю момент \0
Ответ Создать тему
Опции темы

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