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

return + char* - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ и директивы include c пространством имён http://www.cyberforum.ru/cpp-beginners/thread615725.html
Всем привет! Я только начал изучать C++:-[, в связи с этим появились вопросы: 1. В одной книге я встретил выражение, и оно меня несколько запутало — В пространство имён добавляются переменные объявленные программистом(их идентификаторы и значения)? Или же там находятся обозначения только операторов(cout,cin и т.п.)? 2.Зачем нужны директивы include если операторы уже объявлены в пространстве...
C++ Динамическая память Есть 2 массива одной размерности: int *m1 = new int , *m2 = new int ; где N, M некие числа. Собственно вопрос: как "склеить" m1 и m2 так, что бы в итоге получился некий массив m ? http://www.cyberforum.ru/cpp-beginners/thread615724.html
C++ Информация о процессоре
Провет. Такая проблема. Следующий код не работает. Он компилируется, но при запуске вылетает исключение. #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv) { SYSTEM_INFO *sysinf;
C++ Динамическое распределение памяти
Ни разу не работал с динамическим распределением. Объясните пжл, что я сделал не так. Цель - получить большую область памяти (состоящей из небольших кусков) для того, чтобы потом использовать ее для хранения текста. Прошу объяснить именно на примере malloc (), а не new/free; #define check if (!text ) {printf ("\n NO MEMORY"); return 0;} int main () { char** text = {}; for (int i = 0; i...
C++ Работа с DLL http://www.cyberforum.ru/cpp-beginners/thread615711.html
Всем доброго времени суток. Кто может подсказать как в DLL передать переменную, потом в DLL функция её обработает, и как после этого забрать из этой функции результат обработки обратно для работы с ним основной программой?
C++ Знак градуса для функции TextOut Как его обозначить? Есть дабл, с него надо сформировать си-строку для вывода этой функцией курса на экран в градусах и минутах. подробнее

Показать сообщение отдельно
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
28.06.2012, 14:05     return + char*
Как я понимаю, он вернет всякую чушь, потому что локальная переменная m уничтожается по завершению функции. Тогда нужно выделять память с помощью new, а потом в коде освобождать ее, так?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char * func(char *a, char *b)
{
  char m[strlen(a) + strlen(b) + 1];
  int i;
  for(i = 0; i<strlen(a); ++i) m[i] = a[i];
  for(int j=0; j<strlen(b); ++j)
  {
    m[i++] = b[j];
  }
  m[i] = '\0';
  return m;
}
 
 
int main()
{
  char *a = "qwe", *b = "rty", *c = func(a, b);
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru