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

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

Войти
Регистрация
Восстановить пароль
 
orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
#1

Обрезать строку до первого пробела - C++

10.04.2014, 17:03. Просмотров 753. Ответов 1
Метки нет (Все метки)

Первое, что пришло в голову:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
void getWord ( char * words )
{
     char word[255];
     int i = 0;
     for ( i; ( words[i] && words[i] != ' ' ); i++ )
     {
          word[i] = words[i];
     }
     word[i] = '\0';
     cout << "word: " << word << endl; 
     words = word;
}
int main()
{   
    char words[255] = "There is my string";
    cout << "Source string: " << words << endl;
    getWord( words );    
    cout << "New string: " << words << endl;
    cin.get();
}
Но значение words изменить почему-то не получается. Подскажите, в чём проблема. И есть ли более простой/элегантный способ решения этой задачи?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 17:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обрезать строку до первого пробела (C++):

Вывод символов до первого пробела - C++
Как можно вывести из трех слов только первое? Например, вместо &quot;Иванов Иван Иванович&quot; нужно вывести &quot;Иванов&quot;.

Обрезать строку - C++
Здравствуйте,такая проблема когда указываю путь для поиска файлов то в конце пути &quot;*&quot; а чтобы открыть этот файл Мненадо к введенному...

Удалить из файла все данные после первого пробела - C++
(дан символьный файл содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные после первого символа пробела...

Если длина строки четная, то удалить подстроку до первого пробела - C++
Помогите, пожалуйста, найти и исправить ошибку, ибо я уже не знаю что не так. Задача должна удалить подстроку до первого пробела, если...

Извлечь из файла слово или текст до первого его пробела - C++
Извлечь из файла слово или текст до первого его пробела Можно по быстрее плииизззз кто умеет

Удалить все элементы файла, расположенные после первого символа пробела - C++
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные после первого символа пробела,...

1
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
10.04.2014, 17:21 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
orange_fox,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
void getWord ( char* words )
{
     char word[255];
     int i = 0;
     for ( i; ( words[i] && words[i] != ' ' ); i++ )
     {
          word[i] = words[i];
     }
     word[i] = '\0';
     cout << "word: " << word << endl; 
     strcpy(words,word);
}
int main()
{   
    char words[255] = "There is my string";
    cout << "Source string: " << words << endl;
    getWord( words );    
    cout << "New string: " << words << endl;
    cin.get();
}
Добавлено через 2 минуты
более элегантный, как вы говорите
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
 
int main()
{   
    char words[255] = "There is my string";
    cout << "Source string: " << words << endl;
    cout << "New string: " <<  strtok(words," ") << endl;
    cin.get();
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 17:21
Привет! Вот еще темы с ответами:

Написать функцию F(S,pos), которая возвращает номер первого найденного пробела - C++
Написать и протестировать функцию F(S,pos), которая анализирует строку S, начиная с позиции pos, и возвращает номер первого найденного...

Обрезать строку при вводе через fgets - C++
Всем доброго времени суток! Столкнулся с такой проблемой - заполняю список значений следующей процедурой void addToQueue(T_Queue...

Считать строку до пробела - C++
Как считать строку до пробела

Как обрезать строку типа wchar_t* до определенного символа? - C++
собственно вопрос в названии тему, запнулся казалось бы на самом простом, некогда не любил работу со строками...


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

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

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