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

Как заставить sscanf работать с динамическими массивами? - C++

Восстановить пароль Регистрация
 
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103
23.10.2013, 16:25     Как заставить sscanf работать с динамическими массивами? #1
Как заставить sscanf работать с динамическими массивами или есть этому альтернатива(кроме strtok)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 16:25     Как заставить sscanf работать с динамическими массивами?
Посмотрите здесь:

программка с динамическими массивами C++
Странности с динамическими массивами. C++
C++ Работа с динамическими массивами
C++ Работа с динамическими массивами
C++ работа с динамическими массивами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
23.10.2013, 16:57     Как заставить sscanf работать с динамическими массивами? #2
а что его заставлять он и так работает
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103
23.10.2013, 17:15  [ТС]     Как заставить sscanf работать с динамическими массивами? #3
access violation .... &(tourist->places.n) , где n - char [20], а вот если создать динамический то вылетает ошибка. в хелпе указаны примеры sscanf только со статикой
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
23.10.2013, 17:26     Как заставить sscanf работать с динамическими массивами? #4
дак почему стоит амперсанд если n- это char[20]
C++
1
sscanf(tourist->places.n,.....)(
weightless
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 103
23.10.2013, 17:37  [ТС]     Как заставить sscanf работать с динамическими массивами? #5
Потому что функции нужен адрес, это работает правильно. Нужен способ работать с динамическими массивами типа string или char*

C++
1
2
char *buf;
sscanf(buf, "%s",&(tourist->places.n))
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.10.2013, 18:27     Как заставить sscanf работать с динамическими массивами? #6
Цитата Сообщение от weightless Посмотреть сообщение
Потому что функции нужен адрес
Указатель на динамический массив и есть адрес, поэтому не нужно брать адрес у адреса.

Добавлено через 2 минуты
Для статического массива тоже не нужно адрес брать(имя преобразуется в адрес начала). Так разве не работает?
C++
1
sscanf(buf, "%s",tourist->places.n)
Добавлено через 6 минут
C++
1
2
3
char *n = (char*)malloc(20);
char buf[20] = "asdf";
sscanf(buf, "%s", n);
C++
1
2
3
char n[20];
char buf[20] = "asdf";
sscanf(buf, "%s", n);
Добавлено через 18 минут
Цитата Сообщение от weightless Посмотреть сообщение
char *buf;
sscanf(buf, "%s",&(tourist->places.n))
Надеюсь память под buf выделена и там что-то есть?

C++
1
2
3
4
    char *n = (char*)malloc(20);
    char *buf = (char*)malloc(20);
    strcpy(buf, "asdf");
    sscanf(buf, "%s", n);
Yandex
Объявления
23.10.2013, 18:27     Как заставить sscanf работать с динамическими массивами?
Ответ Создать тему
Опции темы

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