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

Получение результата как аргумента, передаваемого по ссылке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти ошибки и исправить http://www.cyberforum.ru/cpp-beginners/thread665338.html
Помогите найти ошибки. #include<stdio.h> #include<conio.h> int main(void) { int *a, b; float *x, y = 3.5; double *m, n; clrscr(); printf(" Enter b = ");
C++ 2d графика Здравствуйте! Имеется рабочий код игры (packman) написанный мной недавно. Нужно его оформить 2d графикой, подскажите пожалуйста чем лучше пользоваться http://www.cyberforum.ru/cpp-beginners/thread665334.html
C++ Определить, что больше: максимальный элемент массива А[10] или минимальный элемент массива В[7]
Определить, что больше: максимальный элемент массива А или минимальный элемент массива В. Поставить максимальный элемент из них на место 1-ого отрицательного элемента массива С. помогите поправить код пожалуйста #include "stdio.h" #include "conio.h" void main() { float a,b,c; int i=0;
C++ Дана последовательность целых чисел а1, а2, …, an. Выяснить, является ли она симметричной последовательностью простых чисел
Ребят срочно надо><
C++ запуск программы в gdb - debugger http://www.cyberforum.ru/cpp-beginners/thread665298.html
Доброго времени суток, появилась необходимость диззасемблировать функцию одну #include "stdafx.h" #include "conio.h" void lame (void) { char small; gets (small); printf("%s\n", small); } int main() { lame (); getch(); return 0; } для наглядности так сказать. выбрала gdb дебаггер
C++ Программа на вычисление бесконечной суммы Помогите сделать программу на вычесление бесконечной суммы с заданной точностью, используя рекуррентные зависимости. Формула дана в таком виде: http://hostingkartinok.com/show-image.php?id=2f61ee9ee5460680bb6fe72865e90cdd Буду благодарен. подробнее

Показать сообщение отдельно
Sweet_Sleep
10 / 10 / 0
Регистрация: 04.11.2009
Сообщений: 147
07.10.2012, 14:26     Получение результата как аргумента, передаваемого по ссылке
Проблема в том, что мне надо получить значение функции через аргумент, через строковый аргумент. Я конкретно запуталась с тем, что мне нужно передавать в качестве параметра функции, чтобы в итоге получить результат в передаваемой переменной.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
int getFieldByLogin(char* login,char* fieldName, char* value){ /* Последний параметр - то, что мне требуется как результат. 
Мой самый нормальный, но не приводящий к рез-ту вариант -передача по ссылке */
 
  if (connectBD()==0)
  {
    char log[255]="'";
    strcat(log, login);
    strcat(log,"'");
 
    char str_query[300]="SELECT ";
    strcat(str_query, fieldName);
    strcat(str_query, " FROM users WHERE login = ");
    strcat(str_query, log);
    strcat(str_query, "");
 
    if (mysql_query(&mysql,str_query )!=0){
 
      fprintf(stderr,"Error execute require\n");
      printf("%s\n", mysql_error(&mysql));
      return(-1);                      //Hear must be code error!
    };
 
    if (mysql_field_count(&mysql)==0){
 
      fprintf(stderr, "Not find record in database\n");
      return (-1);                     //Hear must be code error!
    } else {
 
      mysql_res=mysql_store_result(&mysql);
      mysql_row=mysql_fetch_row(mysql_res);
    };
 
    unsigned long* len;
    len = mysql_fetch_lengths(mysql_res);  
    value = new char[len[0]];                 //выделение памяти для результата
    value = mysql_row[0];                    //непосредственно присвоение результата, mysql_row-это строковый //массив
    printf("%s %s \n",value, mysql_row[0]); //просто проверка, выводит все значения верно.
 
  } else {
 
    fprintf(stderr, "Impossible execute require: error connected with DataBase\n");
    return (-1);                       //Hear must be code error!
  };
 
disconnectBD();
 
return(0);
 
}
 
int main(){
 
  char* val;       //объявление переменной, в которую должен быть помещён резульат
  char log[]="login1";
  char pas[]="password";
  getFieldByLogin(log, pas, value);    //вызов функции
  printf("%s\n", value);                     /*вывод показывает, что это всё не работает
 (выводится случайная строка случайных символов случайного размера */
  return(0);
}
По идее это и не должно работать..Потому что char* -это указатель на первый символ, используемый как аналог строки (в моём понимании). В случае с int-ом всё было бы проще. А здесь получается, что необходимо указатель на строку, то есть указатель на указатель? Пробовала такой вариант (char**), но не получилось. Буду очень рада, если надоумите. Прошу не ругаться, если я совсем по-тупому думаю, а вежливо намекнуть))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru