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

Функция с CharToOem не возвращает слово через return - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразование string to char http://www.cyberforum.ru/cpp-beginners/thread293534.html
В общем никак не получается перегнать из строки в чар. Что надо: Имеется StringGrid и структура. Обьявлена структура как: struct Cities { char city,country; }; Далее
C++ Общие элементы в массивах Здравствуйте. Задача: есть два возрастающих массива длиной k и m. нужно найти общие элементы и разместить их в массиве t. Вот мой код, но он работает некорректно при выводе элементов массива на экран, не могу понять где ошибка (код скопировал из Билдера, если кто подскажет как его отображать с тегами буду благодарен). #include <stdio.h> #include <conio.h> #include <iostream.h> using... http://www.cyberforum.ru/cpp-beginners/thread293529.html
Ошибки при считывании строки из файлы C++
Добрый вечер. Бьюсь с этой проблемой уже не первый день. Но вразумительно ответа в интернете так и не нашел. В программе нужно считать данные из файла(имя товара, имя марки, и цену) и занести все это в динамическую структуру, где все элементы упорядочены по имени товара. вот сама программа: // hh.cpp : main project file. #include "stdafx.h" #include <iostream> #include <fstream>
Произведение положительных элементов матрицы C++
Здравствуйте, Уважаемые форумчане :) Дана матрица В(4,4) Найти произведение положительных элементов среди элементов, расположенных выше побочной диагонали матрицы В. Спасибо заранее.
C++ целый день убил, кое-что накалакял, но это все неправильно. http://www.cyberforum.ru/cpp-beginners/thread293499.html
написать программу на чистом Си Мерси боку
C++ Целочисленная матрица(ПОМОГИТЕ,ПОЖАЛУЙСТА) Дана целочисленная матрица 7х9. Заполнить её случайными элемантами в диапазоне 0..99 и вывести на экран. Увеличить в 3р. эл-ты расположеные слева от заданного столбца(размер столбца вводится с клавиатуры). Вывести на екран преобразованную матрицу. подробнее

Показать сообщение отдельно
агерон
 Аватар для агерон
265 / 264 / 33
Регистрация: 12.10.2009
Сообщений: 1,030
12.05.2011, 03:39     Функция с CharToOem не возвращает слово через return
Цитата Сообщение от gooseim Посмотреть сообщение
kdteam, нельзя возвращать временный массив (buf). Он удалится после выхода из блока и на выходе будет мусор.

Добавлено через 2 минуты
агерон, можно проще:
C++
1
2
3
4
5
6
char* rus3(char* c)
{
        char *buf=new char[strlen(c)+1];
        CharToOem(c,buf);
        return buf;
}
Но такой подход как выделение памяти в одном месте, а освобождение в другом не очень красив.
да я знаю что выделение памяти в 1 месте и освобождение в другом это источник потенциальных проблем но код
C
1
2
3
4
5
6
7
8
9
10
11
12
char* rus3(char* с, char *buf)
{
        CharToOem(c,buf);
        return buf;
}
 
void main()
{
 char *buf=new[strlen(c)+1];
 rus3(c,buf);
 delete []buf;
}
являеться ненужной обверткой над CharToOem; так что тут чистый синтаксичиский сахар который должен применяться по обстоятельствам
 
Текущее время: 23:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru