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

Как правильно вернуть wchar_t из функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массивов строк из фортрана в с++ http://www.cyberforum.ru/cpp-beginners/thread1531611.html
Добрый день. Есть такая вот задача: в dll библиотеке фортрана есть функция, которая возвращает статический массив строк определенной длины. Как мне этот массив прочитать в коде на с++? Просто строку передать - проблем нет, а вот с массивом засада(((
C++ Поменять значения четных и нечетных ячеек массива Уважаемые Господа! Пожалуйста, помогите новичку. Написала программу и не могу понять почему не работает. Объявите указатель на массив типа int и выделите память для 12-ти элементов. Необходимо написать функцию, которая поменяет значения четных и нечетных ячеек массива. Например, есть массив из 4-х элементов: 1 2 3 4 5 6 Результат : 2 1 4 3 6 5 setlocale(LC_ALL,"Russian"); http://www.cyberforum.ru/cpp-beginners/thread1531594.html
Поиск осущевствляется должным образом C++
Выполняется следующая часть кода void interface () { int n, Width, Height, request2,i; bool selection; cout << "Введите размеры экрана по умолчанию: " << endl; cout << "Ширина: "; cin >> Width; cout << "Длина: ";
Sfinae и иже с ним C++
здравствуйте, дабы лучше разобраться с шаблонами решил сделать функцию, печатающую все элементы либо контейнера, либо массива. чтобы основательно разобраться решил сделать без std::enable_if: #ifndef ENABLEIF #define ENABLEIF #include <algorithm> //проверяем является ли тип С контейнером template<typename C> class is_container { public:
C++ Сгенерировать случайные числа от 1000 до 1112 http://www.cyberforum.ru/cpp-beginners/thread1531581.html
for (int i = 1; i <= 10; i++) { n = 1000 + rand () % 1112; cout << n << endl; } Почему вылазят цифры 2062, 1766 и т.д., то есть больше 1112? Добавлено через 2 минуты и как понять фразу "1000 <= n ? 1112" ?
C++ Вставка текста из файла Доброй ночи. Прошу помочь с одной трудностью. Есть функция, которая ищет текстовый файл, и если находит, то выводит из него текст. Так вот, проблема с запрещенными именами, такими, как con, null, con.dll и так далее. Почему то программа не реагирует на условный оператор if и при вводе таких имен, программа, как следствие, зависает. Очень нужна ваша помощь. Заранее спасибо. CStringA file_text()... подробнее

Показать сообщение отдельно
noeine
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 45
16.09.2015, 08:17     Как правильно вернуть wchar_t из функции
Я написал функцию, она формирует строку wchar_t вида "16-9-2015-10-12-51.txt" (день-месяц-год-час-минута-секунду.тхт), далее с помщью этой строки, я создавал текстовый файл, в котором в будущем планируется логфайл программы. Я решил вынести код получения времени в отдельную функцию (т.к. время мне так же понадобится как временная метка при записи каждого события в лог. В процессе отделения кода в другую функцию, возникли проблемы с получением значения из этой функции. Подскажите как сделать
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
wchar_t Debug::GetTime_v1() {
    //Изнаем текущее время, позже оно будет подставляться в имя лог файла
    struct tm local_t; //Создаем структуру local_t
    time_t t;// тип time_t - это целое число (означающее количество секунд, прошедших с 1 января 1970 года)
    time(&t); //& - операция взятия адреса. Тут мы берем указатель адреса переменной t
    // * - операция разыменовывания. Возвращает тот объект на который указывает указатель 
    /*!
    int x;
    int *y = &x; // От любой переменной можно взять адрес при помощи операции взятия адреса "&". Эта операция возвращает указатель
    int z = *y; // Указатель можно разыменовать при помощи операции разыменовывания "*". Это операция возвращает тот объект, на который указывает указатель
    [url]http://habrahabr.ru/post/251091/[/url]
    !*/
    localtime_s(&local_t, &t);
    dateday = local_t.tm_mday;
    datemon = local_t.tm_mon+1;
    dateyear = local_t.tm_year+1900;
 
    timehour = local_t.tm_hour;
    timemin = local_t.tm_min;
    timesec = local_t.tm_sec;
    //Формируем текстовую строку, чтобы на выходе получить имя текстового файла с временем в названии
    wchar_t testwch[256];
    wchar_t temp[128];
    int test = dateday;
    swprintf_s(testwch, L"%d", test);
        wcscat_s(testwch, L"-");
            wprintf(L"%s\n", testwch);
    test = datemon;
    swprintf_s(temp, L"%d", test);
        wcscat_s(testwch, temp);
        wcscat_s(testwch, L"-");
            wprintf(L"%s\n", testwch);
    test = dateyear;
    swprintf_s(temp, L"%d", test);
        wcscat_s(testwch, temp);
        wcscat_s(testwch, L"-");
            wprintf(L"%s\n", testwch);
    test = timehour;
    swprintf_s(temp, L"%d", test);
        wcscat_s(testwch, temp);
        wcscat_s(testwch, L"-");
            wprintf(L"%s\n", testwch);
    test = timemin;
    swprintf_s(temp, L"%d", test);
        wcscat_s(testwch, temp);
        wcscat_s(testwch, L"-");
            wprintf(L"%s\n", testwch);
    test = timesec;
    swprintf_s(temp, L"%d", test);
        wcscat_s(testwch, temp);
        //wcscat_s(testwch, L"-");
 
    wprintf(L"%s\n", testwch);
    wcscat_s(testwch, L".txt");
    //swprintf_s(testwch, L"%d", L".txt");
    wprintf(L"%s\n", testwch);
    cout << testwch << endl;
 
    return testwch; //Вот тут не получается вернуть полученную строку
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru