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

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

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

Массивы строк и функция strcpy - C++

04.10.2011, 23:24. Просмотров 1209. Ответов 6
Метки нет (Все метки)

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>
#include<cstring>
#include<cctype>
 
using namespace std;
 
int mystrcpy( char *stl ,char *str);
 
int main()
{
    char mas[80];
    
    cout << "Massiv s1 imeet znachenie: " << endl;
    cout<< mystrcpy(mas, "Hello world");
    
    system("pause");
    return 0;
}
 
int mystrcpy(char *stl,char *str)
{
    strcpy(stl, str);
}
Программа выводит какой то непонятный адрес.В чем проблема?

И ещё хотел спросить чтоб не создавать новую тему где можно взять практических заданий к книге С++.Базовый курс 3-е издание. Шилдт
Просто раньше учился по Дейтелам, это был ужас бросил книгу на 3-ей главе(Введение в классы) т.к. вообще уже ничего понять не возможно было, предложили Шилдта, понравилось, вот только большой минус нет практических заданий..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 23:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массивы строк и функция strcpy (C++):

Функция strcpy - C++
цель очевидна. почему не работает? :-| #include &lt;iostream&gt; void strcpy(char *from, char *to) { to=from; } int main() { ...

функция strcpy и strcat - C++
Добрый день!У меня такая проблема...Есть массив строк, где хранятся имена и при выводе имени на экран,если оно длиннее определенного,то я...

Что делает функция strcpy(t, f) - C++
Функция strcpy(t, f) что она делает?

Функция strcpy() не копирует строку - C++
Функция strcpy() не копирует строку //--------------------------------------------------------------------------- #pragma hdrstop ...

Функция strcpy () - строка должна быть пустой? - C++
Здравствуйте! Возник вопрос: пусть имеются две непустые строки s1 и s2. Правильно ли копировать содержимое строки s2 в строку s1? Или...

Не работает функция gets(), strcpy() и другие функции с строками - C++
Подключеные библиотеки все. MVS 2013. #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cctype&gt; using namespace std; int...

6
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.10.2011, 23:30 #2
Цитата Сообщение от Dreiz Посмотреть сообщение
В чем проблема?
в том что вы не ведаете что пишите

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
 
char* mystrcpy(char* dest, const char* scr);
 
int main()
{
    char arr[80] = { 0 };
    
    std::cout << "Char array: " << mystrcpy(mas, "Hello world");
    
    system("pause");
    return 0;
}
 
char* mystrcpy(char* dest, const char* scr)
{
    return strcpy(dest, scr);
}
1
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.10.2011, 23:33 #3
Dreiz, попробуйте убрать "*" в описании величин прототипа и самой функции, Вы описываете, как указатель на символьную величину

Добавлено через 1 минуту
Т.А. Павловская "Программирование на языке высокого уровня С/С++". Все просто. Базовый курс.
0
Dreiz
0 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 4
04.10.2011, 23:35  [ТС] #4
Цитата Сообщение от BoBaH26 Посмотреть сообщение
Dreiz, попробуйте убрать "*" в описании величин прототипа и самой функции, Вы описываете, как указатель на символьную величину
Ну собственно убрал, компилятор ругается:
22 D:\C++\Mass.cpp invalid conversion from `char' to `char*

Ну и само задание заключалось в том чтобы всё это проделать с указателями.
0
grizlik78
Эксперт С++
1982 / 1475 / 126
Регистрация: 29.05.2011
Сообщений: 3,048
04.10.2011, 23:42 #5
Dreiz, функция mystrcpy судя по её прототипу должна возвращать число. Что это за число? И где тогда, собственно, возврат чего-либо из функции? И почему выводя в main() результат вычисления функции там ожидается строка? Ведь функция возвращает число.

Добавлено через 53 секунды
В общем-то Jupiter выше показал, как это могло бы выглядеть.

Добавлено через 3 минуты
Правда тогда не понятно, в чём тайный смысл mystrcpy(), если она просто вызывает strcpy() Видимо предполагалось написание собственной реализации. Но, в любом случае, прототип у mystrcpy() должен быть таким (то есть таким же, как и у strcpy())
1
Jupiter
Каратель
Эксперт С++
6568 / 3989 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
04.10.2011, 23:44 #6
Dreiz, в 10-й стоке у меня очепятка
замени на
C++
1
std::cout << "Char array: " << mystrcpy(arr, "Hello world");
1
Dreiz
0 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 4
04.10.2011, 23:49  [ТС] #7
Цитата Сообщение от Jupiter Посмотреть сообщение
Dreiz, в 10-й стоке у меня очепятка
замени на
C++
1
std::cout << "Char array: " << mystrcpy(arr, "Hello world");
Уже заменил, спасибо)
0
04.10.2011, 23:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 23:49
Привет! Вот еще темы с ответами:

Копирование строк - error C4996: 'strcpy': This function or variable may be unsafe - C++
Всем привет! :drink: char *p; char q; cin &gt;&gt; q; p = new char; strcpy(p, q); и тута VS мне говорит что...

Массивы структур и массивы строк - C++
Здравствуйте. Возникла проблема с одной работой: Постановка задачи: 1. Сформировать динамический массив из элементов структурного типа....

Массивы структур и массивы строк - C++
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте. 2. Распечатать...

Массивы строк - C++
Пусть имеется строка, содержащая слова, разделенные пробелами. Составить программу, выводящая слова данной строки в алфавитном порядке....


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

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

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