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

Указатель (нарушение прав доступа) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скрытие пароля С++ http://www.cyberforum.ru/cpp-beginners/thread895755.html
Чтобы не вводил выдает,что пароль не верен.Помогите кто чем может #include "stdafx.h" #include<iostream> #include<stdio.h> #include<math.h> #include <conio.h> using namespace std; ...
C++ Ошибка подчеркивает this. Пишу код. Классы. Ошибка подчеркивает this . Подскажите как лучше ? #include<iostream> #include<Windows.h> #include <string> using namespace std; class MyDate { http://www.cyberforum.ru/cpp-beginners/thread895732.html
C++ Чем ссылка отличается от указателя?
чем ссылка отличается от указателя?
C++ Как переделать с public на private и создать методы для закрытых полей?
Очень простой вопрос , но я только сегодня начал учить классы и возник такой вопрос - Как переделать с public на private и создать методы для закрытых полей? Расскажите поподробней пожалуйста ...
C++ Visual c++. Проблемы с отладкой http://www.cyberforum.ru/cpp-beginners/thread895717.html
Здравствуйте. Почему при отладке студия иногда показывает не все локальные переменные? Например, при отладке в 10-ой студии следующей функции в окне "Локальные" не отображаются указатели s1, s2,...
C++ Действие с файлом в зависимости от его типа В общем препод сказал написать программу к понедельнику, мол напишешь - поставлю зачет :D Суть программы с его слов: "Я задаю любой путь к файлу, если этот .txt файл, на экране должно появиться... подробнее

Показать сообщение отдельно
Catstail
Модератор
22710 / 11079 / 1795
Регистрация: 12.02.2012
Сообщений: 18,266
08.06.2013, 23:49
Конструкция

C++
1
char *str = "hello world!"
означает, что str - константный указатель. Его менять нельзя - отсюда и ошибка. Но если сделать так:

C++
1
2
3
char str1[20];
char *str = "hello world!"  
   strcpy(str1,str);
то str1 менять допустимо.

Добавлено через 5 минут
А вот и код:

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 <iostream.h>
#include <string.h>
 
void replace(char *s,char from , char to)
{
    if(*s == '\0')
    {
        //std::cout << *s << std::endl;
        return;
    }
    if(*s == from)
        *s = to;
    replace(++s , from ,to);
}
 
int main(int argc, char *argv[])
{
    char *str = "hello world!";
    char str1[20];
    strcpy(str1,str);
    replace(str1 , 'r' , '_');
    cout << str1 << endl;
    return 0;
}
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru