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

Запихнуть переменную по символьно в массив - C++

Восстановить пароль Регистрация
 
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:11     Запихнуть переменную по символьно в массив #1
Помогите запихнуть в массив переменную в массив по символьно, то есть что бы я например вводил в переменную значение:
10.4021
И записывал каждый символ из этой переменной в массив, то есть должно выглядить так:
0 элемент массива = 1;
1 элемент массива = 0;
2 элемент массива = .;
3 элемент массива = 4;
4 элемент массива = 0;
5 элемент массива = 2;
6 элемент массива = 1;

Заранее спасибо!

P.S.: Мне это нужно для того что бы искать в файле последовательности символов, а потом удалять их. Если есть альтернативный способ решение такой задачи, то был бы рад услышать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:17     Запихнуть переменную по символьно в массив #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
    std::cout << std::to_string(10.4021) << std::endl;
    std::cout << boost::lexical_cast<std::string>(10.4021) << std::endl;
    return 0;
}
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:27  [ТС]     Запихнуть переменную по символьно в массив #3
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
#include <boost/lexical_cast.hpp>
 
int main()
{
    std::cout << std::to_string(10.4021) << std::endl;
    std::cout << boost::lexical_cast<std::string>(10.4021) << std::endl;
    return 0;
}
boost::lexical_cast<std::string>(10.4021) - что это и как работает?
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
02.04.2012, 17:29     Запихнуть переменную по символьно в массив #4
Без буста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
#include <string>
 
int main()
{
    double dNum;
    std::cin>>dNum;
    std::stringstream sStream;
    sStream << dNum;
    std::string Str = sStream.str();
    for(std::string::iterator it = Str.begin(); it != Str.end(); it++)
        std::cout<<"Pos = "<<it - Str.begin()<<" symbol = "<<*it<<std::endl;
    return 0;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:30     Запихнуть переменную по символьно в массив #5
http://www.boost.org/doc/libs/1_40_0...xical_cast.htm
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:40  [ТС]     Запихнуть переменную по символьно в массив #6
На C нет sstream
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
02.04.2012, 17:42     Запихнуть переменную по символьно в массив #7
StalkerSmerch, и что? В паскале тоже нет.
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:45  [ТС]     Запихнуть переменную по символьно в массив #8
Мне надо только на C(
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:46     Запихнуть переменную по символьно в массив #9
Цитата Сообщение от StalkerSmerch Посмотреть сообщение
Мне надо только на C(
Нужно было уточнить в первом сообщении. На Си есть sprintf
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
02.04.2012, 17:46     Запихнуть переменную по символьно в массив #10
StalkerSmerch, так надо было раньше говорить. Довольствуйся тем что дали. Здесь нет телепатов.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
02.04.2012, 17:50     Запихнуть переменную по символьно в массив #11
Товарищи! вас же на Си просят!
C
1
2
3
char str[8];
float var= 10.4021;
sprintf(str, "%f", var)
О, уже подсказали.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:51     Запихнуть переменную по символьно в массив #12
Kuzia domovenok, Глянь сообщение #9
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:52  [ТС]     Запихнуть переменную по символьно в массив #13
Dekio, извиняюсь, моя оплошность. В следующий раз буду уточнять
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.04.2012, 17:54     Запихнуть переменную по символьно в массив #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Товарищи! вас же на Си просят!
C
1
2
3
char str[8];
float var= 10.4021;
sprintf(str, "%f", var)
О, уже подсказали.
И в очередной раз я скажу, что надо использовать snprintf.
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 18:27  [ТС]     Запихнуть переменную по символьно в массив #15
Kuzia domovenok, , а если я не знаю длинну последовательности символов?

Добавлено через 29 минут
C
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
 
#include <string.h>
 
void main(void)
{
    char str[8];
float var= 10.4021;
sprintf(str, "%f", var);
 
}
У меня всё равно не работает, да же если snprintf
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 18:43     Запихнуть переменную по символьно в массив #16
StalkerSmerch, все работает http://liveworkspace.org/code/762693...14e85d11a64bda

ps. При использовании sprintf + малый размер буфера портится переменная. И я говорю не о строке.http://liveworkspace.org/code/90261c...974da854b01925
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 19:03  [ТС]     Запихнуть переменную по символьно в массив #17
Цитата Сообщение от soon Посмотреть сообщение
StalkerSmerch, все работает http://liveworkspace.org/code/762693...14e85d11a64bda

ps. При использовании sprintf + малый размер буфера портится переменная. И я говорю не о строке.http://liveworkspace.org/code/90261c...974da854b01925
C
1
    snprintf(str, 32, "%f", var);
Тогда что делает эта строчка?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 19:10     Запихнуть переменную по символьно в массив #18
Цитата Сообщение от StalkerSmerch Посмотреть сообщение
Тогда что делает эта строчка?
Очевидно, записывает в строку str переменную var, но не более, чем 32 символа - \0
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 19:12  [ТС]     Запихнуть переменную по символьно в массив #19
soon, Спасибо, а то я просто не понял зачем делать это ещё раз.
А теперь с массивом str можно работать как с обычным массивом?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2012, 19:12     Запихнуть переменную по символьно в массив
Еще ссылки по теме:

C++ Как в char запихнуть переменную?
C++ Как запихнуть массив строк в класс?
C++ Не записывается массив в переменную

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 19:12     Запихнуть переменную по символьно в массив #20
StalkerSmerch, да, теперь и всегда с массивом можно работать как с массивом.
Yandex
Объявления
02.04.2012, 19:12     Запихнуть переменную по символьно в массив
Ответ Создать тему
Опции темы

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