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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
ninja3
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 3
#1

конкатенация строк char* - C++

19.11.2012, 23:09. Просмотров 1317. Ответов 0
Метки нет (Все метки)

Здарова господа!
Есть задача. Нужно выбрать из строки каждое слово и первый символ слова переместить в конец этого слова и добавить 2 символа ay. Допустим есть слово jump. j переносим в конец umpj и добавляем ay тоесть umpjay
вот код:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//svin9cha9 leksema
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
#include <cstdlib>//prototip dl9 rand i srand
using std::rand;
using std::srand;
 
#include <ctime>//prototip dl9 time
using std::time;
 
#include <cstring> //prototip dl9 strcmp i strncmp
using std::strcat;//konkatenasi9 strok
using std::strncat;
using std::strtok;//naxodit leksemu
 
void printLatinWord(const char*);//peredat6 leksemu i vuvesti polychivweec9 slovo
 
int main()
{
    char str[]="jump the computer";//stroka
    char* leksema;//ykazatel6 na leksemy
    
    //rozbivaem na leksemu
    leksema=strtok(str," ");
    
    //prodoljaem razbienie
    while(leksema!=NULL)
    {
        printLatinWord(leksema);
        leksema=strtok(NULL," ");//polychit6 sledyuchyu leksemy
    }
    
//  cout <<"str= "<<str<<endl;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    return 0;
 
 
}
 
void printLatinWord(const char*s)
{
    char b=s[0];//naxjdits9 pervui simvol slova
    cout <<"b= "<<b<<endl;
    char pr[40]="";
    
    
    
    //strcat(pr,s);//dovavl9em pervui element nazad
    strcat(pr,s+1);
    //strcat(pr,b);
    strcat(pr,"ay");
    
    s=s+1;//ydal9em pervui simvol
    cout <<"s= "<<s;
    cout <<" s+1= "<<s+1;
    cout <<" s[1]= "<<s[1];
    
    cout <<" pr= "<<pr<<endl;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
 
 
}
функции printLatinWord передаем указатель на лексему.
создаю char b и присваиваю ему первый символ слова b=s[0];
-затем перезаписываю слово без первого символа strcat(pr,s+1);
-дальше добавляю первый символ который сохранен в b в конец строки pr //strcat(pr,b); и тут вылазит ошибка
ошибка: некорректное преобразование из «char» в «const char*» [-fpermissive]
непонятно чо она вылезла?
Как мне первый символ слова перенести в конец слова????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 23:09     конкатенация строк char*
Посмотрите здесь:

Перевод переменной из int в char и конкатенация строк - C++
вообщем вот кусок кода. max - это та самая переменная которую нужно было мне перевести в char, но потом у меня никак не получается...

конкатенация char - C++
Привет!!! Пытаюсь разобраться с указателями char ничего не получается. вот код: #include &lt;iostream&gt; using std::cout; using...

Указатели char* - конкатенация без <string.h> - C++
char *pp,*p,*s1; // p и s1 имеют свои значения, по сути необходимо из &quot;p&quot; сделать соединение &quot;s1+p&quot; (строго без &lt;string.h&gt; ! это...

Конкатенация двух строк - C++
Как написать программу, которая задает пользователю какие-то вопрос, которые требует однозначного ответа. Проверить его правильность. Дать...

Конкатенация строк в объектах - C++
Программа завершает свою работу в тот момент, когда выполняет нижеприведенный фрагмент кода. Вывода на экран не происходит. Вкратце...

Конкатенация строк препроцессором - C++
Добрый день! Подскажите пожалуйста почему не работает B(A)(); #include &lt;iostream&gt; using namespace std; #define B(x) f##x##f...

конкатенация 2х строк? подскажите новичку в с++ - C++
Как получить строку s, являющую собой конкатенацию двух строк s0 и s1?

Упражнение из Страуструпа: конкатенация С-строк - C++
Напишите функцию cat(), которая принимает в качестве аргументов две С-строки и возвращает конкатенированную С-строку. Используйте операцию...

Конкатенация строк через функцию - C++
Пытался я сделать программу, которая соединяет две строки. Сделал я все это так порнографично (через функцию), так-как такое домашнее...

Список файлов и конкатенация строк - C++
Здравствуйте. В этом коде std::vector&lt;std::string&gt; Files(0); // вектор с файлами ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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