Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Я начинающий, подскажите как...(Все вопросы начинающих - постить только здесь!!!)

1
24 ноября 2007 года
kot_
7.3K / / 20.01.2000
Эта тема предназначена для вопросов начинающих в программировании. Если вы только начинаете программировать и столкнулись с тем, что ваш HelloWord (как вариант - новая суперОС) - не компилируется по непонятной причине, хотя код вы один в один взяли из книжки (интернета, придумали сами), то скорей всего ваш вопрос НУЖНО размещать только в этой теме. Перед тем как его создать - обязательно воспользоваться поиском. Только в этой теме вы не рискуете нарваться на - RTFM, иди в ЧАВО, иди в гугль и в конце концов просто иди на ... - при условии конечно что в данной теме вопрос не задавался. Или если вы не задаете вопрос типа "расскажите мне подробно что такое шаблоны в С++" - т.е. вопрос, в ответ на который проще послать в вышеуказанное. Если же вы решили что, ваш вопрос настолько нов и свеж что никто до этого не спрашивал на форуме "как мне прочесть файл с использованием потока" и создали отдельную тему - не обессудьте - в лучшем случае тема будет закрыта, в худшем удалена - и вы получите нарушение.
Страницы:
1.8K
19 января 2008 года
CilCatblack
251 / / 20.09.2007
Примерно вот так::)

 
Код:
<form name="имя твоей веб формы" id="id формы"
action="http://..." method=GET>
</form>


GET-данные формы присоединятся к запросу ввиде "имя & значение"
есть также POST:) (точно также как и GET)
36K
19 января 2008 года
muzshura
1 / / 19.01.2008
Я новичок в C++. Планирую создавать win32-приложения и изучать неизведанное. Посоветуйте для меня визуальную среду разработки. Комп 1800/512/80/128 на ОС Windows XPSP2.
1.8K
19 января 2008 года
CilCatblack
251 / / 20.09.2007
Цитата: muzshura
Я новичок в C++. Планирую создавать win32-приложения и изучать неизведанное. Посоветуйте для меня визуальную среду разработки. Комп 1800/512/80/128 на ОС Windows XPSP2.



Microsoft Visual C++ 6.0:)

36K
19 января 2008 года
Mastik
3 / / 18.01.2008
Цитата: CilCatblack
Примерно вот так::)

 
Код:
<form name="имя твоей веб формы" id="id формы"
action="http://..." method=GET>
</form>


GET-данные формы присоединятся к запросу ввиде "имя & значение"
есть также POST:) (точно также как и GET)


Я про c#, а не html - нужно именно средствами c# выполнить HTTP-запрос и сохранить где-нибудь ответ(в переменной, например). Хотя может я c# плохо знаю, но можно тогда пример кода именно на c# в виде функции привести? (предположим, что текст запроса уже создан и хранится в переменной httpStr)

12K
27 января 2008 года
Sholah_Weras
99 / / 04.12.2007
Доброго времени суток! Пару вопросов по С++
1. В консоли вводится строка, содержащая пробелы. Для того, чтобы получить всю ее пользуюсь ф-ей getline. Все хорошо, в переменную все сохранятеся, но как-то непонятно происходит это дело. Поясняю. Напечатал я строку, нажал "энтэр" (а брэкпойнт поставил на следещую строку, после getline(cin, variable);) а в дебагер программа не вывалилась, только после повторного нажатия на клавишу. Мягко говоря, это не то, что мне надо. Как бы избавиться от такого досадного поведения ф-ии?
2. Перевод числа типа float (и иже с ним) в строку.

Разобрался.
1
27 января 2008 года
kot_
7.3K / / 20.01.2000
Цитата: muzshura
Я новичок в C++. Планирую создавать win32-приложения и изучать неизведанное. Посоветуйте для меня визуальную среду разработки. Комп 1800/512/80/128 на ОС Windows XPSP2.


Особенно прикольно - вот это вот - "изучать неизведанное". Изучите в начале "изведанное". :)
Кроме того, тема обсуждалась на форуме не раз. В последний раз например здесь.

36K
28 января 2008 года
Антон_Л
1 / / 28.01.2008
Добрый день. Я обратился на этот форум для получения совета по следующему вопросу. В последнее время я занимаюсь разработкой клиентских програм баз данных в среде Windows и использую Borland C++ Builder 6, однако реалии сегодняшнего дня требуют перехода на Linux платформу. В связи с этим вопрос мой таков: Какое средство разработки Вы могли бы посоветовать мне для использования. Мне необходимо, чтобы оно максимально напоминало Builder в части наличия стандартных визуальных компонентов с возможностью обработки обычных событий и свойств. Я в данный момент использую в качестве десктопа Ubuntu 7.10.
31K
28 января 2008 года
Yarosl@w
18 / / 23.01.2008
Цитата:

Перевод числа типа float (и иже с ним) в строку



Сам своево времени долго искал ответ на етот вопрос. Он выглядит примерно так:

 
Код:
gcvt(f,ndig,s);

где f-число типу float, int ndig - число знаков после комы,s - строка, в котурую надо ето записать
1
28 января 2008 года
kot_
7.3K / / 20.01.2000
Цитата: Антон_Л
Добрый день. Я обратился на этот форум для получения совета по следующему вопросу. В последнее время я занимаюсь разработкой клиентских програм баз данных в среде Windows и использую Borland C++ Builder 6, однако реалии сегодняшнего дня требуют перехода на Linux платформу. В связи с этим вопрос мой таков: Какое средство разработки Вы могли бы посоветовать мне для использования. Мне необходимо, чтобы оно максимально напоминало Builder в части наличия стандартных визуальных компонентов с возможностью обработки обычных событий и свойств. Я в данный момент использую в качестве десктопа Ubuntu 7.10.


Ну если не ошибаюсь сам по себе билдер (в его 2006-7 реинкарнациях) поддерживает кроссплатформенное программирование. Ну а так, обратите внимание на Qt.

36K
30 января 2008 года
Kreativ
3 / / 30.01.2008
Всем привет. Я начинающий в прграммировании. ПРограммирую в Visual Studio на Си. У меня следующий вопрос. Пишу программу которая бы ходила по разным указанным пользователем папкам в винде и выводила бы список файлов, содержащихся в директории. ПРограмма работает, но с некоторыми оговорками - если я указываю в качестве директории англоязычную папку (например C:\test), то у меня выводиться список всех файлов, а если русскоязычную (с:\тест), то пишет Invalid handle file. При этом русские символы распознаются, когда выводиться список файлов.Подскажите как быть? Как сделать так, чтобы независимо от локализации ОС Windows я мог указывать нужный мне путь, и просмотривать список файлов, содержащийся в нем?? Заранее большое спасибо
548
30 января 2008 года
Maximillian_Cavalera
157 / / 16.08.2007
Не сколько раз прочитал про них в книге, но всё равно ничего не понял. C#.
1
30 января 2008 года
kot_
7.3K / / 20.01.2000
Цитата: Kreativ
Всем привет. Я начинающий в прграммировании. ПРограммирую в Visual Studio на Си. У меня следующий вопрос. Пишу программу которая бы ходила по разным указанным пользователем папкам в винде и выводила бы список файлов, содержащихся в директории. ПРограмма работает, но с некоторыми оговорками - если я указываю в качестве директории англоязычную папку (например C:\test), то у меня выводиться список всех файлов, а если русскоязычную (с:\тест), то пишет Invalid handle file. При этом русские символы распознаются, когда выводиться список файлов.Подскажите как быть? Как сделать так, чтобы независимо от локализации ОС Windows я мог указывать нужный мне путь, и просмотривать список файлов, содержащийся в нем?? Заранее большое спасибо


Покажите фрагмент кода в котором вы получаете данное сообщение. Кроме того - посмотрите эту тему: http://forum.codenet.ru/showthread.php?t=45415 - возможно у вас схожая проблема.

36K
30 января 2008 года
Kreativ
3 / / 30.01.2008
printf("Введите путь к директории\n\n", setlocale(LC_ALL, ".ACP"));

gets(etalon);
strcpy(basepath, etalon ); strcat(basepath, "*");
printf ("\nПуть = %s\n", basepath);

hFind = FindFirstFile(basepath, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)

{

printf ("\nInvalid File Handle. GetLastError reports %d\n", GetLastError ());

}

функцией gets ввожу путь к директории;
1
30 января 2008 года
kot_
7.3K / / 20.01.2000
Цитата: Kreativ
printf("Введите путь к директории\n\n", setlocale(LC_ALL, ".ACP"));

gets(etalon);
strcpy(basepath, etalon ); strcat(basepath, "*");
printf ("\nПуть = %s\n", basepath);

hFind = FindFirstFile(basepath, &FindFileData);

if (hFind == INVALID_HANDLE_VALUE)

{

printf ("\nInvalid File Handle. GetLastError reports %d\n", GetLastError ());

}

функцией gets ввожу путь к директории;


Используйте пожалуйста средства форматирования кода.
Вы прочли ссылку, которую я вам дал?

36K
30 января 2008 года
Kreativ
3 / / 30.01.2008
Да прочитал, в настройках проекта использую Multi - Byte Character Set. Вроде все преобразовывается, но русский никак не воспринимает, при объявлении пути
6.1K
30 января 2008 года
Gfunk
42 / / 31.01.2006
float function();

int main()
{
double a=0;
a=function();

return 0;
}

float function ()
{

float x=12.54;
return x;

}

Почему а получает значение 12.539999961853 а не 12.54?
36K
31 января 2008 года
Karz0n
2 / / 31.01.2008
Начинаю лишь программировать на этом языке. Обучение проходить при помощи книги С++ 3 из. Г. Шилдт на VC++ 6.0. При компиляции выдает "fatal error C1001: INTERNAL COMPILER ERROR". Найти ошибки не могу, но подумал о проблеме совместимости версии компилятора и задаваемых
автором заданий.
Просьба к вам:
1) Проверить на ошибки данный код
2) Если это действительно связано с версией компилятора выбранной, то посоветовать версию альтернативу. Сразу хотел сказать, что не желаю писать на компиляторах семейства .NET т.к. считаю тягостным понятие Framework, который нужно "таскать" везде. Если я что-то неправильно понимаю, то просьба доходчиво пояснить.

Заранее благодарен!

Код:
#include <iostream>

using namespace std;

class three_d {
    int x,y,z;
public:
    three_d(int i,int j,int k){x=i;y=j;z=k;}
    three_d(){x=y=z=0;}
    void get(int &i,int &j,int &k){i=x;j=y;k=z;}
    friend three_d operator+(three_d&, int);
    friend three_d operator+(int,three_d&);
};

three_d operator+(three_d &obj, int i)
{
    three_d tmp;
    tmp.x=obj.x+i;
    tmp.y=obj.y+i;
    tmp.z=obj.z+i;
    return tmp;
}

three_d operator+(int i, three_d &obj)
{
    three_d tmp;
    tmp.x=obj.x+i;
    tmp.y=obj.y+i;
    tmp.z=obj.z+i;
    return tmp;
}

void main()
{}
320
31 января 2008 года
m_Valery
1.0K / / 08.01.2007
Клик по номеру ошибки и F1.Читай тут.
36K
01 февраля 2008 года
Karz0n
2 / / 31.01.2008
Прочёл. Вроде как понял в чем проблема. Пробывал вверху отключать оптимизации используя директиву:
 
Код:
#pragma optimize( "[optimization-list]", {on | off} )

таким образом:
 
Код:
#pragma optimize( "gia", off)

или по отдельности, по-разному варируя и до конца не понимая что делаю т.к. полазив в настройках обнаружил отключенными все виды оптимизации.

Хоть и такой вид конструкции как я понимаю (на данный момент) решает лишь проблему перегрузки оператора в случае, если будет записано, например: "int + obj" что в свою очередь как-то не по-нормальному и может быть написано наоборот, что сразу решит проблему, но все же хотелось бы решить вопрос этот т.к. возможны снова такого рода проблемы уже в других ситуациях.

Поправьте что я сделал не так, так сказать разжуйте и положите в рот :)
Заранее спасибо.
13K
07 февраля 2008 года
ftphost
11 / / 10.12.2007
Доброго времени суток. Пишу на Borland C++ v6.0. Пытаюсь писать под windows, только обнаружил не хватку библиотеки <windows.h>. В инете не нашел, на codenet.ru тож. Не сомневаюсь, что мог плохо искать. Выложите плз, у кого есть. Заранее благодарен.
489
07 февраля 2008 года
NeO_u
277 / / 11.10.2006
Цитата: ftphost
Доброго времени суток. Пишу на Borland C++ v6.0. Пытаюсь писать под windows, только обнаружил не хватку библиотеки <windows.h>. В инете не нашел, на codenet.ru тож. Не сомневаюсь, что мог плохо искать. Выложите плз, у кого есть. Заранее благодарен.



Одной библиотеки windows.h тебе будет просто мало. Тебе нужно стянуть инсталляху SDK (Software Development Kit). В ней находятся все необходимые библиотеки. Удачи.

36K
07 февраля 2008 года
vadim_m
2 / / 07.02.2008
Помогите пожалуйста решить такую задачу на C:
Необходимо набить двумерный массив строк типа
массив[строка][столбец] = "значение".
Я пробовал так:
char * names_array[<номер дома>][<номер квартиры>] = <Имя жильца>;
но не сработало
при присвоении значения элементу массива[строка][столбец+1], перезаписывается и массива[строка][столбец]

Как надо?

Спасибо
14K
07 февраля 2008 года
stimpi
100 / / 04.09.2007
может вы не правильно выделяете память или что-то не то с ссылками, желательно код привести. Вот код на 2005 студии прекрасно работает ничего не затирает.

Код:
char *matrix[2][2];

    for (int i=0;i<2;++i)
    {
        for (int j=0;j<2;++j)
        {
            matrix[j] = new char(MAX_LENGTH);
        }
    }

    strcpy(matrix[0][0],"hello");
    strcpy(matrix[0][1],"world");
    strcpy(matrix[1][0],"hi");
    strcpy(matrix[1][1],"emma");
36K
08 февраля 2008 года
vadim_m
2 / / 07.02.2008
при компиляции говорит:
error: ‘new’ undeclared (first use in this function)
489
08 февраля 2008 года
NeO_u
277 / / 11.10.2006
Цитата: vadim_m
при компиляции говорит:
error: ‘new’ undeclared (first use in this function)



Вполне логично, если у тебя Си. New появился только в Си++. Поэтому используй malloc.

malloc принимает в качестве аргумента размер выделяемой области в байтах; возвращает нетипизированный указатель (void*) на область памяти заявленного размера или NULL в случае, если выделить память невозможно. Содержимое выделяемой области памяти не определено.

 
Код:
#include <stdlib.h>

void * malloc ( size_t size );
void * calloc ( size_t num, size_t size );
14K
08 февраля 2008 года
stimpi
100 / / 04.09.2007
Да был не прав насчет new
Это должно работать
Код:
#define MAX_LENGTH 100
void main()
{
    char *matrix[2][2];

    for (int i=0;i<2;++i)
    {
        for (int j=0;j<2;++j)
        {
            matrix[j] = (char*)malloc(MAX_LENGTH);
        }
    }

    strcpy(matrix[0][0],"hello");
    strcpy(matrix[0][1],"world");
    strcpy(matrix[1][0],"hi");
    strcpy(matrix[1][1],"emma");
   
    for (int i=0;i<2;++i)
    {
        for (int j=0;j<2;++j)
        {
            printf("%s \n",matrix[j]);
            free(matrix[j]);
        }
    }
}
35K
11 февраля 2008 года
Biff
8 / / 11.02.2008
Вопрос такой: Как можно распечатать даные из любого обьекта например Memo или файла на C++ Builder 6
1
11 февраля 2008 года
kot_
7.3K / / 20.01.2000
Цитата: Biff
Вопрос такой: Как можно распечатать даные из любого обьекта например Memo или файла на C++ Builder 6


Во первых - к общим вопросам С/С++ это отнести ну никак нельзя. Во вторых - используйте поиск - тема печати рассматривалась многократно.

35K
11 февраля 2008 года
Biff
8 / / 11.02.2008
та поиск юзал... нашол тока пример на Делфи... щас попробую тоже на С ++ написать..
1
12 февраля 2008 года
kot_
7.3K / / 20.01.2000
Цитата: Biff
та поиск юзал... нашол тока пример на Делфи... щас попробую тоже на С ++ написать..


Странно. Уж в чем меня трудно заподозрить - так это в том что я привожу код на делфи:
http://forum.codenet.ru/showthread.php?t=42675&highlight=%EF%E5%F7%E0%F2%FC
или вот еще - тоже на делфи мало похожее:
http://forum.codenet.ru/showthread.php?t=12074&highlight=%EF%E5%F7%E0%F2%FC
Название темы - ничего не напоминает? В следующий раз просто получите нарушение за неиспользование поиска сразу в двойном размере.

841
13 февраля 2008 года
_nic
199 / / 29.07.2006
Есть файл размером несколько килобайт,файл хоть и содержит символы обычного текста но он неявляется полностью символьным.То есть если я его загружаю в память то с помощью ф-ций типа strlen и strstr можно работать только с первыми несколькими байтами файла,хотя файл содержит довольно много текстовых символов кроме нескольких первых байт.Подскажите как можно(какие хоть ф-ции для этго можно использовать) выдрать из содержимого этого файла весь текст который там есть?
14K
13 февраля 2008 года
stimpi
100 / / 04.09.2007
читать как двоичный файл не пробовал ?
32K
13 февраля 2008 года
vitaly333
9 / / 07.02.2008
Всем здрасте. Может этот вопрос уже задавался где -то здесь, но я не смог найти его, поэтому задаю здесь:
Как откомпилировать сторонние библиотеки, имея заголовочные и исходные файлы. Т.е получить библиотечные файлы. Использую компилятор BCC32.exe (версия 5.6.0.0)
841
13 февраля 2008 года
_nic
199 / / 29.07.2006
Цитата: stimpi
читать как двоичный файл не пробовал ?


Я б попробовал но понятия неимею как это сделать :confused: , в описание CreateFile и ReadFile вроде ниче нет такого :confused:

35K
13 февраля 2008 года
Fes_Gorodok
3 / / 13.02.2008
Здрасте, у меня вопрос маленький, я плохо знаю С++, но вот надо нарисовать в TImage картинку с фоном, фон я загружаю с jpg ? а поверх этой картинки можно как нить рисовать???? Или нужно использовать что нить другое, не TImage???? Заранее спасибо.
14K
13 февраля 2008 года
stimpi
100 / / 04.09.2007
 
Код:
FILE *fopen(     const char *filename,    const char *mode  );
841
14 февраля 2008 года
_nic
199 / / 29.07.2006
Цитата: stimpi
 
Код:
FILE *fopen(     const char *filename,    const char *mode  );


Ну открыл я его с mode "rb" , а дальше что ?
Всеравно cout и printf выводят только его тесктовое начало,да и остальные ф-ции предназначенные для работы со строками дальше тех первых байт где текст ниче невидят.

14K
16 февраля 2008 года
stimpi
100 / / 04.09.2007
ты читаешь через fread ?
30K
17 февраля 2008 года
Ден Зурин
28 / / 17.02.2008
2Fes_Gorodok:
У класса TCanvas есть метод Draw, с помощью которого можно рисовать изображения. На Delphi это будет так (у меня нет C++ Builder, но там аналогично):
MyImage.Canvas.Draw(X, Y, JpegImage);
Здесь JpegImage - это JPEG-рисунок класса TJpegImage, а MyImage - элемент TImage, на который выводится рисунок. Рисунок выводится, начиная с пиксела (X,Y). После вывода картинки можно продолжить рисование, включая вывод других картинок.

2_nic:
Если файл НЕ текстовой, то и работать с ним нужно только в двоичном режиме! И никак не иначе. При открытии файла для чтения указывается режим "rb", а для записи "wb":
 
Код:
FILE* f=fopen("myfile.bin", "rb");

Для чтения двоичных данных используется функция fread:
size_t fread(void *ptr, size_t size, size_t n, FILE *fp);
Функция читает (size*n) байтов из файла fp в буфер, задаваемый адресом ptr. Обычно n=1, а size равен размеру блока данных.
Возвращаемое значание - количество прочитанных байтов. Если оно равно size*n, то данные прочитаны успешно, а при ошибке чтения результат будет меньше, чем size*n. Пример чтения структуры:
 
Код:
count=fread(&mystruct, sizeof(mystruct), 1, f);
if (count==sizeof(mystruct)) error=0;
else error=1;

Аналогичная функция есть и для записи данных:
size_t fwrite(const void *ptr, size_t size, size_t n, FILE *fp);
Функция записывает данные из буфера ptr в файл fp, параметры и возвращаемое значение те же, что и у функции fread. Пример записи структуры:
 
Код:
count=fwrite(&mystruct, sizeof(mystruct), 1, f);
if (count==sizeof(mystruct)) error=0;
else error=1;

Обе функции объявлены в stdio.h.
В Windows API используются только двоичные файлы. Открывается файл с помощью функции CreateFile (описние см. в MSDN). Для чтения данных используется функция ReadFile:
ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
Функция читает nNumberOfBytesToRead байтов из файла hFile в буфер,
задаваемый адресом lpBuffer. В переменную типа DWORD, задаваемую адресом lpNumberOfBytesRead, записывается количество прочитанных байтов. Последний параметр обычно равен NULL, подробнее см. MSDN. Пример чтения структуры:
 
Код:
ReadFile(hFile, &mystruct, sizeof(mystruct), &count, NULL);
if (count==sizeof(mystruct)) error=0;
else error=1;

Аналогичная функция для записи данных:
WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
Функция записывает данные из буфера в файл. Пример записи структуры:
 
Код:
WriteFile(hFile, &mystruct, sizeof(mystruct), &count, NULL);
if (count==sizeof(mystruct)) error=0;
else error=1;
30K
17 февраля 2008 года
Ден Зурин
28 / / 17.02.2008
Теперь мой вопрос.
В C++ есть такое ключевое слово - template для написания шаблонов. Объясните, хотя бы вкратце, что это за шаблоны такие, для чего они нужны и как их использовать? Ни в одном учебнике по C++ ничего не говорится про шаблоны. Нет их и в книге Б. Страуструпа. Видимо, они появились в C++ недавно?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог