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

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

Войти
Регистрация
Восстановить пароль
 
templas
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 19
#1

Передача строки в функцию - C++

16.02.2014, 12:24. Просмотров 475. Ответов 7
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста))
C++
1
2
3
4
5
6
7
8
9
10
11
void concatenation_Str(char* string)
{
    char buff[256];
    cout << "Введите добавляемые символы -> ";
    cin.getline(buff, 256);
 
    strcat(string, buff);
    cout << "Конкатенация прошла успешно! (Нажмите чтобы продолжить)" << endl;
    _getch();
    system("cls");
}
пишет используйте strcat_s использую strcat_s пишет отсутствуют экземпляры. Помогите!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 12:24     Передача строки в функцию
Посмотрите здесь:

Передача строки в функцию - C++
Добрый, вечер. Есть функция void Func(wstring st){ wcout&lt;&lt;st.at(i); //убрал ненужное, но смысл оставил. } Так вот, если я...

Передача строки в функцию - C++
Как передать строку s типа string в функцию?

Передача строки string в функцию - C++
Завтра экзамен а я печатаю строки :D Что хочу: ввожу две строки, передаю их в функцию по указателю, сравниваю каждый символ и если они...

Передача строки в функцию system - C++
можно ли каким либо образом передать system значение String допустим есть string c=&quot;primer&quot;; system(c); чтобы system принял значение...

Передача строки в дружественную функцию - C++
Доброго времени суток! Помогите пожалуйста исправить программу( было много попыток, но все тщетно), чтобы она работала, а именно заработали...

Передача строки в функцию и ее вывод - C++
Добрый день. Есть функция main() которая сначала считывает с клавиатуры 2 строки: password и keyword(строки могу быть как с пробелами, так...

Передача в функцию строки и копирование - C++
Что это за безобразие выводит? #include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; const int MAX = 80; void reversit(char...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
16.02.2014, 12:28     Передача строки в функцию #2
templas, см. прототип strcat_s

Добавлено через 37 секунд
http://msdn.microsoft.com/ru-ru/library/d45bbxx4.aspx
templas
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 19
16.02.2014, 12:50  [ТС]     Передача строки в функцию #3
C++
1
strcat_s(string, strlen(string), buff);
Добавил размер строки... на strcat не ругается но все равно не работает))
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.02.2014, 14:33     Передача строки в функцию #4
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
#include <iostream>
#include <string.h>
using namespace std;
 
bool concatenation_Str(char (&string)[256])
{
    cout << "Введите добавляемые символы -> ";
    char str[50];
    cin.getline(str, 256);
 
    if (!strcat_s(string, str))
    {
        return true;
    }
    else return false;
}
 
 
int main()
{
    setlocale(0, "");
    
    char str[256] = "My String";
    if (concatenation_Str(str))
    {
        cout << "Конкатенация прошла успешно!" << endl;
        cout << str << endl;
    }
    
    cin.get();
    return 0;
}
templas
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 19
16.02.2014, 14:49  [ТС]     Передача строки в функцию #5
А размер в функции обязательно фиксированный должен быть?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.02.2014, 14:51     Передача строки в функцию #6
Здесь исправить:
C++
1
cin.getline(str, 50);
Добавлено через 1 минуту
Цитата Сообщение от templas Посмотреть сообщение
А размер в функции обязательно фиксированный должен быть?
Размер чего?
templas
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 19
16.02.2014, 14:52  [ТС]     Передача строки в функцию #7
Добавлено через 50 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Здесь исправить:
C++
1
cin.getline(str, 50);
Добавлено через 1 минуту

Лучше здесь...
C++
1
char str[50];
Размер чего?
C++
1
bool concatenation_Str(char (&string)[256])
я не видел просто что бы так строку передавали в функцию...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2014, 14:59     Передача строки в функцию
Еще ссылки по теме:

Передача строки в конструктор или в функцию - C++
Как передать в конструктор класса строку без массивов, да и в функцию как передать строку и дальше действия над ней производить?А то в...

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

Передача в функцию - C++
компилятор ругается на int sumcolumn (int **a, int n) sumcolumn(a,m) почему не могу передать массив i*1, таким образом? ...

Передача в функцию - C++
вот есть такие строки кода: typedef vector&lt; vector&lt;char&gt; &gt; string_sound; void sound_func(string_sound &amp;text_sound, int sum_words)...

передача массивов в функцию - C++
собственно пишу программу. В мэйне прописываю условные массивы и передаю в функцию генерации массивов. Собственно при выполнении почему...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.02.2014, 14:59     Передача строки в функцию #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от templas Посмотреть сообщение
я не видел просто что бы так строку передавали в функцию...
Я тоже не видел, но тогда strcat_s() параметр принимать не будет. Лучше так делать:
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
#include <iostream>
#include <string.h>
using namespace std;
 
void concatenation_Str(char* string)
{
    cout << "Введите добавляемые символы -> ";
    char str[50];
    cin.getline(str, 50);
 
    strcat(string, str);
 }
 
 
int main()
{
    setlocale(0, "");
    
    char str[256] = "My String";
    concatenation_Str(str);
    cout << str << endl;
    
    cin.get();
    return 0;
}
Если будет писать про strcat() предупреждение, то можно не обращать внимание (заморочки microsoft). Если - как ошибку (в студиях после 10-й), то отключить такие ошибки, как показано здесь: Ошибка в SCANF
Yandex
Объявления
16.02.2014, 14:59     Передача строки в функцию
Ответ Создать тему
Опции темы

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