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

Ваш аккаунт

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

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

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

инт ту чар*

1.9K
09 декабря 2006 года
0xf001
96 / / 24.05.2005
объясните пожалуйстта!
я работаю в M$ VC 7.0
мне нужно переводить числовые переменные в текстовые, например:
char *A;
int B;

нужно перевести B в А.
355
09 декабря 2006 года
<SCORP>
786 / / 21.10.2006
у тебя стоит задача не приведения типов инта к чару, а перевод числа в строку. решается чтением доков и функцией itoa
1.9K
09 декабря 2006 года
0xf001
96 / / 24.05.2005
Нету у меня MSDN -а, чтоб читать его. И весит он больше чем сам си, во всяком случае для VisualStudio2003 он весит 1.81 гектара, а это ого-го.

И вот еще вопрос, почему, если я пишу

char *A;
char *B;
char *C;
A = B + C;

"A" получается какой-то ерундой. Как объединяются строки?
1.9K
09 декабря 2006 года
[*]Frosty
278 / / 17.06.2006
 
Код:
char *A;
char *B;
char *C;
A = B + C;

Это ты указатели складываешь!

Используй stl - класс string
 
Код:
#include<string>
#include<iostream>

using namespace std;
//...
string A = "qwer", B = "ty", C;

C = A + B;// C = "qwerty"
1.9K
09 декабря 2006 года
0xf001
96 / / 24.05.2005
Вы не поняли, мне нужно на функцию подавать переменную именно типа char *С; никакие классы сдесь не катят.

Вообщем функция выглядит так:

GLvoid glPrint(char *fmt, GLfloat X, GLfloat Y);

у меня есть переменная:

int A; // Число
char B = "Бла-бла-бла!"; //Доп. бадяга.

Нужно сделать так, чтоб C = A + B и это С подставить в функцию.
3.7K
09 декабря 2006 года
Techtor
43 / / 12.09.2004
пиши так:
 
Код:
char A[20]="Bla\0";
    char rez[10];           //для промежуточного результата
    int B=5;

    itoa(B,rez,10);         //rez=B

    strcat(A,rez);          //A=A+rez
         cout<<A;

Выводит: Bla5
398
09 декабря 2006 года
Alexandoros
630 / / 21.10.2005
Цитата: 0xf001
Нету у меня MSDN -а, чтоб читать его. И весит он больше чем сам си, во всяком случае для VisualStudio2003 он весит 1.81 гектара, а это ого-го.

И вот еще вопрос, почему, если я пишу

char *A;
char *B;
char *C;
A = B + C;

"A" получается какой-то ерундой. Как объединяются строки?



1)Я тебе мсдн дам бесплатно - http://msdn2.microsoft.com/en-us/library/default.aspx
2)Тебе книжку по C/C++ нуна купить и почитать.

[QUOTE=0xf001]
Вы не поняли, мне нужно на функцию подавать переменную именно типа char *С; никакие классы сдесь не катят.
[/QUOTE]

Катят. C.c_str().
Все, иди учи С/С++.

1.9K
10 декабря 2006 года
0xf001
96 / / 24.05.2005
Ну вот, сделал я эту хрень.

char *C;
char A[10];

itoa(FramesRendered,A,10); //Значение счетчика переводится в строку длинной 10(болше цифра никогда не получится)
strcat(A," fps"); //К значению счетчика приписывается "ФПС"
C = A; //Значение А переписывается в переменную формата char *C

glPrint(С, 0, 0) //Подстава в ф-ю

На счет того, что мне надо си учить, уж извините, я сейчас пришел на 1 курс, а злобный препод только 2 месяца назад показал нам этот си, а сейчас говорит, мол рисуйте мне на нем трехмерную сцену в OpenGL. И чтобы с тенями, освещением, сглаживанием, туманом, и фильтрацией, и не просто кубик-рубик, а "осмысленная сцена", типа чайника летают, сталкиваются и разлетаются в разные стороны. И чтоб не тормозило.

Так вот смотрел я разные учебники. В "С++ Бархитный путь" куча заумных схем, а конкретных функций нишиша.
В книге какого-то Страустрапа более понятно, но все равно не сказано, какие процедуры выполнять, чтоб получить желаемый результат.
Такое ощущение, что аффтары думают, что такие вещи само собой разумеются, и писать их ненадо.
Конечно, в VBasic-е было проще, а к С мне еще привыкать.

Так что, господа некогда мне учить Си. Мне нужно Дум4 делать и прикручивать к нему пятые шейдеры.:mad::mad::mad:
309
10 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Цитата:

Так вот смотрел я разные учебники.


И во всех них русскими буквами написано: "Не использовать char" :D
Можно AnsiString, можно CString можно string. Но ни в коем случае, не символьные массивы - совет опытного человека ;)

63
10 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: 0xf001
Ну вот, сделал я эту хрень.


Извини, но по твоим постам возникает стойкое ощущение, что учиться ты не хочешь.

Цитата: 0xf001
а злобный препод только 2 месяца назад показал нам этот си, а сейчас говорит, мол рисуйте мне на нем трехмерную сцену в OpenGL. И чтобы с тенями, освещением, сглаживанием, туманом, и фильтрацией, и не просто кубик-рубик, а "осмысленная сцена", типа чайника летают, сталкиваются и разлетаются в разные стороны. И чтоб не тормозило.


Честно говоря, слабо верится...Либо это задание повышенной сложности для зачета/экзамена автоматом, для продвинутых студентов.

Цитата: 0xf001

В книге какого-то Страустрапа


Больше таких выражений не употребляй, ладно?

Цитата: 0xf001

Так что, господа некогда мне учить Си. Мне нужно Дум4 делать и прикручивать к нему пятые шейдеры.:mad::mad::mad:


Ну вперед, в чем проблема-то?:D Но все-таки советую сперва хоть msdn почитать, на всякий случай..

1.9K
10 декабря 2006 года
0xf001
96 / / 24.05.2005
Цитата: Zorkus
Извини, но по твоим постам возникает стойкое ощущение, что учиться ты не хочешь.


С чего ты взял?

Цитата: Zorkus

Честно говоря, слабо верится...


Твои проблемы. Я же сказал все как есть.

Цитата: Zorkus

советую сперва хоть msdn почитать


Обязательно. Умру, но выучу. Приду на экзамен по КГГ, и перескажу наизусть весь MSDN.

63
10 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: 0xf001
С чего ты взял?


Цитата: 0xf001
Так вот смотрел я разные учебники. В "С++ Бархитный путь" куча заумных схем, а конкретных функций нишиша.
В книге какого-то Страустрапа более понятно, но все равно не сказано, какие процедуры выполнять, чтоб получить желаемый результат.
Такое ощущение, что аффтары думают, что такие вещи само собой разумеются, и писать их ненадо.


Если хочешь книгу базового С++, где куча подробных примеров - Г. Шилдт, "С++. Базовый Курс". Просто если ты ищешь конкретные функции, не пытаясь вникнуть в представленные общие схемы - то неудивительно, что многого не понимаешь. А Страуструп - это не совсем для начинающих, мне кажется.

Цитата: 0xf001

Обязательно. Умру, но выучу. Приду на экзамен по КГГ, и перескажу наизусть весь MSDN.


Учить не надо + это нереально. Но надо уметь пользоватся.

6.8K
11 декабря 2006 года
Аццкий программер
91 / / 27.11.2006
Цитата:
Цитата: Сообщение от 0xf001
а злобный препод только 2 месяца назад показал нам этот си, а сейчас говорит, мол рисуйте мне на нем трехмерную сцену в OpenGL. И чтобы с тенями, освещением, сглаживанием, туманом, и фильтрацией, и не просто кубик-рубик, а "осмысленная сцена", типа чайника летают, сталкиваются и разлетаются в разные стороны. И чтоб не тормозило.

Честно говоря, слабо верится...Либо это задание повышенной сложности для зачета/экзамена автоматом, для продвинутых студентов.


Согласен с Zokarus'ом. Я на первом курсе. Специальность - Компьтерная Безопасность. Сейчас мы проходим Наследование, Чистые Виртуальные Функции, и Перегрузку операторов. Даже продвинутые челы с чисто программерских специальностей не делают ничего сродни 3д сценам и летающим чайника =))

Цитата:
В книге какого-то Страустрапа


Во-первых, он не Страустрап, а Страуструп
Во-вторых, ИМХО он не "какой-то", а создатель С++
В-третьих, его книга ТОЧНО не для начинающих(по крайней мере нам так лектор сказал)

Цитата:

Так что, господа некогда мне учить Си. Мне нужно Дум4 делать и прикручивать к нему пятые шейдеры.


Как ты будешь "прикручивать к нему пятые шейдеры", если даже конкатенацию строк не можешь произвести?!

гы-гы.. мне сдается афтар - лол :D

309
11 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
Цитата: 0xf001
Вы не поняли, мне нужно на функцию подавать переменную именно типа char *С; никакие классы сдесь не катят.

Вообщем функция выглядит так:

GLvoid glPrint(char *fmt, GLfloat X, GLfloat Y);

у меня есть переменная:

int A; // Число
char B = "Бла-бла-бла!"; //Доп. бадяга.

Нужно сделать так, чтоб C = A + B и это С подставить в функцию.


Это ВЫ не поняли.
Наличие функции, которая требует char* (а точнее, cons char* - большая разница), означает просто, что создаём объект строкового типа (string, AnsiString, CString............), а потом используем метод типа c_str(), который возвращает указатель на массив символов.
Таким образом, можно легко и просто подготавливать данные для API-функций.
А работая с непосредственно с символьными массивами - дальше "HELLO WORLD" не уйдёте - отладчик не пустит :D

240
11 декабря 2006 года
aks
2.5K / / 14.07.2006
Цитата: el scorpio

А работая с непосредственно с символьными массивами - дальше "HELLO WORLD" не уйдёте - отладчик не пустит :D


=)))) Другая крайность ))
Кудаж он отладчик денется то? )) Просто надо руки иметь. ОС писали и пишут таким образом, а не простенькие программы )

309
11 декабря 2006 года
el scorpio
1.1K / / 19.09.2006
aks
Согласен - есть "критические секции" кода, в которых счёт идёт на каждый такт процессора и байт стека. Тут и в самом деле не до классов. Но ведь 99% разрабатываемых самостоятельно программ таких секций не имеют.
Посему лучше "расслабиться и постараться получить удовольствие" от работы со сложноструктурированными объектами, делающими всю "грязную работу" за программиста. Дать волю Музе и освободить Вдохновенье от оков рутинных операций контроля памяти :D.
1.9K
11 декабря 2006 года
0xf001
96 / / 24.05.2005
Цитата:

Как ты будешь "прикручивать к нему пятые шейдеры


Если вам нужно к каждой шутке клеить смайлик, то извините... кхм-кхм..

Цитата:

Даже продвинутые челы с чисто программерских специальностей не делают ничего сродни 3д сценам и летающим чайника =))


Хотите сказать, что я вам вру? Очень надо. Если угодно - специальность "ИС" - "Информационные системы и технологии".
Вот тут есть учебная программа по специальности ИС, и там русским по белому написано, что на первом курсе - КГГ.
http://www.vvsu.ru/iskt/specialities/071900.asp

Причем главный прикол в том, что "технологии программирования", которые нам должны были поставить на этот семестр, переставили на следующий, заменив несуществующим в природе предметом "введение в специальность", который по суте является ни к чему не обязывающей демагогией на тему "в чем заключается ваша будущая профессия".

З.Ы. Сам ты лол. :D (смайлик - для большей понятности)

З.Ы.Ы. В конце концов, я не нехочу учить Си, просто времени нет делать это сейчас.. Особенно с таким преподом..

398
11 декабря 2006 года
Alexandoros
630 / / 21.10.2005
Может ты нам ище и план КГ покажеш, где это у вас в программе обучения стоит 3д сцена с пиксельными шейдерами перед 3-х летним изучением с/с++ ???
63
11 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Нет, почему не верю, мне в сущности все равно. Если собираешься писать трехмерную сцену - тебе в тему Графика .
6.8K
11 декабря 2006 года
Аццкий программер
91 / / 27.11.2006
Цитата:
Хотите сказать, что я вам вру?


да, я не верю тебе.
Первые два курса практически в любом универе - общеобразовательные. Только в некотрых ВУЗах вводятся спецкурсы с первого семестра. И тогда такие предметы(компьютерная графика, языки высших уровней, электроника, схемотология, булева алгебра и пр.) начинаются с нуля. А у Вас, почему-то сходу пошли 3д сцены, шейдеры, тени и т.д. и т.п.

354
11 декабря 2006 года
ШпиЁн
468 / / 19.02.2006
Вы не поверите.... :о) учусь на четвертом курсе по специальности "Программное обеспечение вычислительной техники и автоматизированных систем", и НАМ ДО СИХ ПОР РАССКАЗЫВАЮТ ОДНУ ТЕОРИЮ (причем не про основные принципы построения и функционирования ОС, а какую-то лажу(по другому не назовешь), "как создать грамматику и провести синтаксический/семантический анализ строки и разбить ее на лексемы.") как вы думаете, это нормально?! если б я сам ничего не делал, ничего бы и не добился, сидел бы, тупо смотрел в монитор да пил пиво, издавая нечто типа ГЫ-ГЫ как делает большинство моих одногруппников....

Мораль: умными не рождаются.
9
13 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Короче, не мучайся.

...
#include <stdarg.h>

HFONT font;
GLuint base;

void font_init(HDC hDC)
{
base = glGenLists(96);
font = CreateFont(-12, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, RUSSIAN_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE | DEFAULT_PITCH, "Microsoft Sans Serif");

SelectObject(hDC, font);
wglUseFontBitmaps(hDC, 32, 96, base);
}

void font_release(void)
{
DeleteObject(font);
glDeleteLists(base, 96);
}

void glPrint(GLuint x, GLuint y, const char *fmt, ...)
{
char text[2048];
va_list ap;

if (fmt == NULL)
return;

va_start(ap, fmt);
vsprintf(text, fmt, ap);
va_end(ap);

glPushAttrib(GL_LIST_BIT);

glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0, 1024, 0, 768, -1, 1);

glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glRasterPos2i(x, y);

glListBase(base - 32);
glCallLists(strlen(text), GL_BYTE, text);

glMatrixMode(GL_PROJECTION);
glPopMatrix();

glMatrixMode(GL_MODELVIEW);
glPopMatrix();

glPopAttrib();
}


int main(...)
{
// тут разный код. инициализация и т.д.
...

// для текста
font_init(hDC); // hDC - твой контекст устройства

glPrint(0,0,"%s: %u", "Bla-bla-bla: ", 100);

...
font_release(); // освободить память и т.д.
}


Заметь, никаких классов и т.д. Хотя, я обернул бы это в класс (хотя бы для разных шрифтов и размеров).

З.Ы. А язык (инструмент) все-таки изучи, это же тебе надо, а не преподу...
20K
13 декабря 2006 года
Ich
18 / / 02.10.2006


Во-первых, он не Страустрап, а Страуструп




Простите, а где это написано???
Его имя Bjarne Stroustrup(мог описаться, но вряд ли...) и его можно вполне прочитать как Страустрап. Ещё не известно, как оно правильно произноситься(хотя не спорю почти все издания пишут его именно так)

PS: Это не претензия, но если человек читал его на аглицком(хоть я в этом и очень сомневаюсь...) то вполне мог прочитать и так, причём по всем правилам он прав.....

63
13 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Да об этом никто не спорит, собственно. Вот говорить "Какой-то" про него - вот это меня лично зацепило:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог