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

Функция join. - C++

Восстановить пароль Регистрация
 
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
16.12.2010, 23:00     Функция join. #1
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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
 
char * Join(char * dest, char * src)
{
        char * d = dest;
        while(*d != '\0') {d++;}
        while(*d++ = *src++);
        return dest;
}
 
int main()
{
        char * str1 = new char [300];
        char * str2 = new char [300];
        cout << "Vvedite pervuu stroku" <<endl;
cin.getline (str1, 300); 
cout << "Vvedite vtoruu stroku" <<endl;
        cin.getline (str2, 300);
        
                cout << Join(str1,str2)<<endl;
                                 cout<<str1;
         getch();
}
Вот так выглядит функция join. Она соединяет строки, а точнее прибавляет к первой строке вторую. Мне нужно исправить эту задачу так, чтобы при запросе вывести эту первую строку выводился оригинал строки 1. Т.е строка 1 = 00000000 строка 2 = 11111111 . Прога после всего этого искаверкает строку 1 , представляя её как сумму строк 1 и 2. Т.е строка 1 = 1 , строка 2 = 2 , то их сумма будет равна 12, а строка 1 будет тоже 12. Как это избежать и сделать так, чтобы строка один осталась неизменной до конца
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2010, 23:00     Функция join.
Посмотрите здесь:

что за функция такая strstr? или это не функция? C++
C++ inner join
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() C++
Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива C++
C++ Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.12.2010, 04:27     Функция join. #2
нужно сделать её копию, и в функцию Join() подавать копию
new, strcpy()

Join - это strcat
Copy - это strcpy
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
17.12.2010, 16:58  [ТС]     Функция join. #3
мммм... забыл сказать, что мне нельзя использовать лишние библиотеки.
Цитата Сообщение от accept Посмотреть сообщение
нужно сделать её копию, и в функцию Join() подавать копию
new, strcpy()
Join - это strcat
Copy - это strcpy
Сделай, пожалуйста, а то мне мозгов уже не хватает
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
18.12.2010, 06:03     Функция join. #4
C
1
2
3
4
5
6
7
8
char *Copy(char *dest, const char *src)
{
    char *d = dest;
 
    while ((*d++ = *src++))
        ;
    return dest;
}
пример

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
#include <stdio.h>
 
char *Copy(char *dest, const char *src);
 
int main(void)
{
    char line[100];
    
    Copy(line, "abcd");
    Copy(line + 3, "efgh");
    
    printf("%s" "\n", line);
    
    return 0;    
}
 
char *Copy(char *dest, const char *src)
{
    char *d = dest;
 
    while ((*d++ = *src++))
        ;
    return dest;
}
Код
[guest@localhost tests]$ ./t
abcefgh
[guest@localhost tests]$
Yandex
Объявления
18.12.2010, 06:03     Функция join.
Ответ Создать тему
Опции темы

Текущее время: 05:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru