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

Считать строку и занести ее адресс другой переменой - C++

Восстановить пароль Регистрация
 
bytephone32
1 / 1 / 0
Регистрация: 08.08.2012
Сообщений: 21
25.10.2012, 20:10     Считать строку и занести ее адресс другой переменой #1
Пытаюсь сделать функцию наподобе scanf со сменным количеством параметров. С числами разобрался. как считать строку? Имеется функция такого формата:
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
void Input ( char* format, ...)
{
    char** params = &format;
    char* pFormat = format;
 
    while ( *pFormat )
    {
        if ( *pFormat == '$' ) 
        {
            ++params;
            ++pFormat;
            switch ( *pFormat )
            {
                case 'u':
                    //read unsigned
                    std::cout << "Read unsigned" << std::endl;
                    *((UINT*) *params) = ReadUInt ( );
                    break;
                case 'i':
                    std::cout << "Read int" << std::endl;
                    //read int
                    break;
                case 'f':
                    std::cout << "Read float" << std::endl;
                    *((double*) *params) = ReadFloat ( );
                    //read float
                    break;
                case 's':
                    std::cout << (char*)params << std::endl;
                    ((char*) *params) = ReadString ( );
                //read string
                    break;
            }
        }
        ++pFormat;
    }
}
В общем проблема сдесь:
Функция ReadString
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
char* ReadString ( void )
{
    char ch;            /* current symbol */
    PCHAR buf = ( PCHAR ) malloc ( 1024 );  /* size of buf 1kB */
    PCHAR pBuf = buf; /* point to begin of buffer */
    bool isDot = false; /* there are not dot */
 
    while ( true )
    {
        ch = _getch ( );
 
        if ( ch == KB_ENTER )
        {
            _putch ( '\n' );
            break;
        }
 
        switch ( ch )
        {
            case KB_BACKSPACE:
                PressBackspace ( buf, pBuf );
                continue;
            default:
                break;
        }
 
        *pBuf = ch;
 
        ++pBuf;
 
        _putch ( ch );
 
    } /* while */
 
    *pBuf = '\0';
 
    return buf;
 
}

((char*) *params) = ReadString ( );

как занести в перемменую адресс строки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2012, 20:10     Считать строку и занести ее адресс другой переменой
Посмотрите здесь:

C++ Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а
Как занести содержание текстового файла в одну строку? C++
C++ Из текстового файла считать вторую строку и последнюю. Записать их в другой текстовой файл
C++ Занести в выходную строку все слова исходной, в которых нет повторяющихся букв
C++ Вывести строку, содержащую эти же слова, но расположенные в обратном порядке. Записать полученную строку в другой файл
Не работает код (программа считывает из файла строку, убирает лишние пробелы и записывает в другой файл строку, словами наоборот) C++
Положительные элементы массива занести один за другим в другой массив. C++
C++ Положительные элементы массива занести один за другим в другой массив

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 05:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru