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

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

Восстановить пароль Регистрация
 
Ксюха21
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 8
27.02.2011, 05:03     Не копируется строка #1
Подскажите мне, пожалуйста, в чём проблема. Пытаюсь написать аналог функции 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++
заменить все вхождения подстроки str1 на подстроку str2; строка str1 вводится из файла, а строка str2 с клавиатуры C++
строка string и строка char C++
Не копируется структура C++ (по введеному номеру телефона удалить информацию из файла) C++
Преобразование строка-число-строка C++
Куда именно копируется значения аргумента при передачи в функцию? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.02.2011, 07:50     Не копируется строка #2
Потому что
Цитата Сообщение от Ксюха21 Посмотреть сообщение
C
1
2
char *firstname = "aaaaaaaaaaaaaaaa";
 char *lastname ="bbbbbbbbb";
обозначают константные строки, которые нельзя модифицировать в программе.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 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     Не копируется строка
Ответ Создать тему
Опции темы

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