Блог пользователя SimB4

Автор SimB4, 11 лет назад, По-русски

Меня интересует следующий вопрос:

какой способ чтения строчки из char'ов без ничего лишнего (пробелы, табуляции, конца строчки) в string самый эффективный, т.е. самый быстрый по времени.

Прим.: можно было бы считать и в массив char'ов, но тогда стоит вопрос, как узнать сколько символов я считал.

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
11 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Возможно, данная статья будет полезной.

»
11 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Если необходимо считывать по одному слову, то можно использовать scanf("%s", s), где s — массив типа char. При необходимости массив char после этого можно присвоить типу string.
strlen(s) — длина строки в массиве char. Функция работает за O(n), так что не стоит вызывать ее много раз, например, в условии цикла.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Конец строки из char'ов это символ с кодом 0. После последнего считанного символа просто 0 пишешь. И потом можно например так бежать по строке for (int i = 0; s[i]; ++i)

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится