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

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

Войти
Регистрация
Восстановить пароль
 
Ксюха21
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 8
#1

Не копируется строка - C++

27.02.2011, 05:03. Просмотров 344. Ответов 2
Метки нет (Все метки)

Подскажите мне, пожалуйста, в чём проблема. Пытаюсь написать аналог функции strcpy, но выдает, при компиляции нормально, а когда запускаю, выдает попытку записи в защищенную память, вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
char* stringcopy (char*, char*);
int main (void)
{
    char *firstname = "aaaaaaaaaaaaaaaa";
    char *lastname ="bbbbbbbbb";
        stringcopy(firstname, lastname);
    printf ("My firstname is %s.\n", firstname);
    return 0;
}
char* stringcopy (char* firstname, char* lastname)
{int i=0;
    while ( i < sizeof(lastname) && lastname[i]!='\0' )
            firstname[i] = lastname[i];
            i++;
    firstname[i]='\0';
    return firstname;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2011, 05:03     Не копируется строка
Посмотрите здесь:

C++ строка
Строка C++
Создать класс строка и производный класс битовая строка, не работает переопределение операций C++
Строка C++
Строка string и строка char C++
Не копируется структура C++ (по введеному номеру телефона удалить информацию из файла) C++
C++ строка
Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 C++
Преобразование строка-число-строка C++
Куда именно копируется значения аргумента при передачи в функцию? C++
C++ Дана строка. Подсчитать сколько раз первая строка входит во вторую
Почему строка, считанная из файла и такая же строка в программе не равны, хотя они, вроде бы, одинаковы? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.02.2011, 07:50     Не копируется строка #2
Потому что
Цитата Сообщение от Ксюха21 Посмотреть сообщение
C
1
2
char *firstname = "aaaaaaaaaaaaaaaa";
 char *lastname ="bbbbbbbbb";
обозначают константные строки, которые нельзя модифицировать в программе.
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
27.02.2011, 08:43     Не копируется строка #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<string.h>
 
char* stringcopy (char*, char*);
 
int main (void){
        char firstname[] = "aaa";
        char *lastname ="bb";
        printf ("My firstname is %s.\n", strcpy(firstname, lastname));
        return 0;
}
 
char* stringcopy (char* firstname, char* lastname){
    char* begin=firstname;
    for(; *firstname=*lastname; ++lastname, ++firstname);
    return begin;
}
Yandex
Объявления
27.02.2011, 08:43     Не копируется строка
Ответ Создать тему
Опции темы

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