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

Функция strtok() не воспринимает пробел как разделитель - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Можно ли объявлять объекты в заголовочном файле? http://www.cyberforum.ru/cpp-beginners/thread1242283.html
Решил написать змейку с использование OpenGL. Сначала написал все в одном файле, все работало, решил сделать по красивее и распихать по хедерам. Сразу вопрос: Можно ли объявлять объекты в заголовочном файле? Из-за этого похоже у меня и ошибки: 1>Food.obj : error LNK2005: "class Block * blocks" (?blocks@@3PAVBlock@@A) already defined in Block.obj 1>Food.obj : error LNK2005: "class Food food"...
C++ Несколько логически ИЛИ в условии if Здравствуйте! Вот такой, вроде бы несложный вопрос: Есть функция, в которую передается массив символов, далее она проверяет устраивает ли первый символ заданному критерию, если нет то возвращает нолик, если да единичку. Критерий таков: первый символ должен быть одним из этих -- A, B, C, E, H, K, M, O, P, T, X, Y. Передаю такой массив: A000AA Буква которые записаны в условии и массиве все в... http://www.cyberforum.ru/cpp-beginners/thread1242279.html
Реверс двусвязного списка C++
Столкнулся с задачей написать функцию реверса двусвязного списка. Часа 3 сушил себе мозг с копиями указателей, получилось что надо хранить копию данных и копию адреса 1 узла да еще и копировать все в ручную поэлементно. Выглядит очень громоздко... Так вот сам вопрос то, зачем вообще может понадобиться такая функция если список можно обойти в обоих направлениях ( задача из книги "Язык...
Калькулятор Z-1. Укажите на ошибку в программе к задаче C++
Уважаемые форумчане, укажите пожалуйста на ошибку в программе. Пишу программу к задаче, валится на 10 тесте (Wrong Answer). Подскажите, пожалуйста, что не так. Условие задачи: Имя входного файла: calcz.in Имя выходного файла: calcz.out Ограничение по времени: 2 секунды Ограничение по памяти: 64 мегабайта Компания Z готовится к выпуску своего супер пупер мега калькулятора Z-1. Ме-
C++ Проверить можно ли ходом короля из одной клетки попасть в другую http://www.cyberforum.ru/cpp-beginners/thread1242224.html
Делать было нечего решил все простые задачи перерешать с сайта. Ближе к делу: Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматный король попасть с первой клетки на вторую за один ход. Формат входных данных: Даны 4 целых числа от 1 до 8 каждое, первые два задают...
C++ Как удалять определенные значения из массива? Пишу программу по одной задаче, в которой требуется удалить элементы, значение которых меньше среднего арифметического динамического массива. Думал, элемент возможно удалить с помощью delete", но это не работает. В гугле нашел несколько методов, но описаны они были как-то криво, в итоге я ничего не понял. Так как удалять элементы из простого и динамического массива? Объясните подробно подробнее

Показать сообщение отдельно
Egeniy
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 27

Функция strtok() не воспринимает пробел как разделитель - C++

13.08.2014, 23:39. Просмотров 1170. Ответов 15
Метки (Все метки)

Функция успешно разделяют строку на лексемы из массива символов stri, но при вводе строки с клавиатуры, "пробел" между словами не воспринимает как разделить в отличие от ",.-".
Как сделать чтобы при вводе с клавиатуры функция делила строку на лексемы?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//пример использования функции strtok
#include <iostream>
#include <cstring>
 
int main ()
{
int gl=0, sg=0,i,j;
    char gls[]="аеиоуюэя";
    char sog[]="бвгджзйклмнпрстфхцчш";
    char str[100];
    
    std::cout<<"Введите предложение:";
    std::cin>>str;
  char stri[] = "Особенности национальной рыбалки - художественный, комедийный фильм.";
 
  std::cout << "Разделение строки "" << str << "" на лексемы:n";
  char * pch = strtok (stri," ,.-"); // во втором параметре указаны разделитель (пробел, запятая, точка, тире)
 
  while (pch != NULL)                         // пока есть лексемы
  {
      std::cout << pch  << "n";
      pch = strtok (NULL, " ,.-");
  }
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru