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

strcpy/strcpy_s - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Метод ньютона для СНУ http://www.cyberforum.ru/cpp-beginners/thread93720.html
Привет всем!!!)) Помогите пожалуста перевести программу з матлаба на С++. Вот исходник матлаба и функции(обратна, транспонирование) которые уже есть. Помогите пожалуста завтра здача курсовой, а у меня нечего не готово!!((( матлабовська прога function Z=F(X) function W=JF(X) x=X(l);y=XB); x=X(1); y=X(2); ...
C++ Оператор if Почему у меня оператор Else выдает как ошибку(Е2054 Misplaced else)? и в операторе if не нравится как я записал if((s==a)&&(f==p)); ? #include<vcl.h> #include<iostream.h> void main(void) { const a=33,p=222222; int s,f; cout<<"vvedite ceriu pasporta- "; cin>>s; cout<<"vvedi nomer- "; http://www.cyberforum.ru/cpp-beginners/thread93707.html
динамический массив C++
1) Дан массив из 6 элементов типа целое без знакаю Сформировать указатель на этот массив и обратится ко второму элементу массива разными способами 2) Выделить память для трёхмерного массива в . Изменить индексацию массиватак, чтобы начальный элементимел индексы -1, -2, -3
вопрос, наверное, по потокам C++
вот есть программка, работающая с текстовым файлом, первые два символа которого хранят длинну строки. программыа должна вывести всю строку (включая первые два символа) #include <iostream> #include <string> #include <fstream> using namespace std; int main() { ifstream fin("input.txt"); if (!fin) { cout<<"fail input.txt not found"<<endl; return 1;
C++ Фибоначчи http://www.cyberforum.ru/cpp-beginners/thread93681.html
Дано целое число N(>1), которое является числом Фибоначчи: N=Fk. Найти целые числа Fk-1 и Fk+1 - предыдущие и последующее числа Фибоначчи.
C++ Нужно посчитать количество слов в тексте Нужно посчитать количество слов в тексте, подкииньте, кто знает какие-то идеи. подробнее

Показать сообщение отдельно
Плутон
13 / 13 / 4
Регистрация: 29.06.2011
Сообщений: 85
14.06.2012, 15:54     strcpy/strcpy_s
Возможно это не актуально, но я отвечу.

char* - это указатель на строку. Т.е. это переменная в один байт, в которой хранится адрес в оперативной памяти. Ты строку копируешь не в указатель, а в то место, куда он указывает(т. е. в кусок оперативной памяти, адрес начала которого хранится в указателе). Теперь важный момент: перед тем как использовать память, её нужно выделить, т. е. сказать операционной системе "Кусок памяти, на который указывает x размером n байт использует моя прога, и никакая другая!". Ваш указатель - не исключение. Вот правильный код класса:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
 
class const_string
{
public:
    const_string(char const* s)
    {
        len = strlen(s);
        str = (char*)malloc(len+1);
        memset(str, '\0', len+1);
        strcpy(str, s);
    }
private:
    char *str;
    size_t len;
}
 
Текущее время: 13:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru