Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 34
1

Как сделать чтобы перебор символов шел до конца строки? Если у меня например в ней есть пробелы?

10.12.2014, 16:49. Просмотров 3254. Ответов 4
Метки нет (Все метки)


C++
1
for (i=0;X[i]!='\0';i++); // цикл перебора символов строки, продолжается пока не стретится пустой символ
Вот этот цикл перебирает до первого пробела. т.е. пока не встретится пустой символ!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2014, 16:49
Ответы с готовыми решениями:

ЦветаУ меня есть массив ,как сделать чтобы например Вишенка была красным цветом, Виноград синим, Яблоко зелёным
У меня есть массив A: array of string = ('Вишенка', 'Виноград', 'Яблоко', 'BAR', 'Арбуз'); как...

У меня есть таблица из двух строк, как сделать так чтобы нажав на строку и именно под ней добавлялась ноавая
у меня есть таблица из двух строк, как сделать так чтобы нажав на строку и именно под ней...

Например у меня есть два класса. В одном из них несколько строк.Как во втором классе создать условие что если
Например у меня есть два класса. В одном из них несколько строк.Как во втором классе создать...

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

4
0 / 0 / 1
Регистрация: 08.11.2014
Сообщений: 5
10.12.2014, 16:55 2
Попробуйте так :
C++
1
for(int i=0; i<strlen(X); i++){};
0
58 / 45 / 11
Регистрация: 16.09.2014
Сообщений: 124
10.12.2014, 17:26 3
Пробел и '\0' - это разные символы, вам уже ответили в другой теме, что \0 и есть конец строки, обычно за ним лежит память в которую вы не имеете права заходить, повторюсь обычно, можно сделать и по другому... но вряд ли в вашем случае.

strlen не поможет, так как он так же посчитает количество до символа \0
The length of a C string is determined by the terminating null-character:
http://www.cplusplus.com/reference/cstring/strlen/

\0 - это конец, смиритесь. НО - это не пробел!
0
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 34
10.12.2014, 18:01  [ТС] 4
почему тогда в этом фрагменте проги
C++
1
2
3
4
5
6
7
8
TString::TString(char *X)  //Конструктор, получающий указатель на строку
{
   int i;
   for (i=0;X[i]!='\0';i++);
   n=i;
   S=new char[n];
   strcpy(S,X);
}
если есть пробел в первой строке он пропускает процесс ввода второй строки и сразу переходит к третьей?
0
58 / 45 / 11
Регистрация: 16.09.2014
Сообщений: 124
10.12.2014, 18:14 5
Ищите проблемы в вашем коде в другом месте, а может быть в самой вводимой строке.
Этот код работает как и должен, внизу элементарная проверка.
C++
1
2
3
4
5
6
7
    char str[] = { " BLA BLA BLA " };
    for (size_t i = 0; str[i] != '\0'; ++i){
        if (str[i] == ' ')
            std::cout << "space" << std::endl;
        else
            std::cout << str[i] << std::endl;
    }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2014, 18:14

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

Вот есть у меня порт 8,например. Если я хочу включить светодиод,куда мне вставлять второй провод?
Вот есть у меня порт 8,например. Если я хочу включить светодиод,куда мне вставлять второй провод?

Стереть с конца строки столько символов, сколько в ней содержится цифр
Стереть с конца строки столько символов, сколько в ней содержится цифр.

Есть готовый код, как сделать так, чтобы мог выводить дробные цифры. Например: 0.15, 0.018 и тд
Program massive2 ; uses crt; var a:array of integer; i,j,num:integer; max,sum: integer; begin...

Дана строка символов, среди которых есть <<->>. Определить, сколько символов от него до конца строки.
Дана строка символов, среди которых есть &lt;&lt;-&gt;&gt;. Определить, символов от него до конца строки. Кто...

Есть 2 горизонтальных блока. Как сделать чтобы левый блог был равен например 60%, а правый - на всю остальную ширину?
Если прописать ширину как 60% и 40%, а у блоков есть ещё и граница, то они располагаются...

Как удалить все пробелы в строке, и если есть кавычки, то между ними пробелы заменить на %
Как удалить все пробелы в строке, и если есть кавычки, то между ними пробелы заменить на %? Вот...


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

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

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