Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
#1

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

02.04.2012, 17:11. Просмотров 789. Ответов 19
Метки нет (Все метки)

Помогите запихнуть в массив переменную в массив по символьно, то есть что бы я например вводил в переменную значение:
10.4021
И записывал каждый символ из этой переменной в массив, то есть должно выглядить так:
0 элемент массива = 1;
1 элемент массива = 0;
2 элемент массива = .;
3 элемент массива = 4;
4 элемент массива = 0;
5 элемент массива = 2;
6 элемент массива = 1;

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

P.S.: Мне это нужно для того что бы искать в файле последовательности символов, а потом удалять их. Если есть альтернативный способ решение такой задачи, то был бы рад услышать.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2012, 17:11
Ответы с готовыми решениями:

Как в char запихнуть переменную?
Здрасте, подскажите пожалуйста, возможно ли в char запихнуть свою переменную?...

Как запихнуть массив строк в класс?
Есть класс, один из методов который использует массив строк: char* pszName =...

Строка: Строку разбить на слова и слова запихнуть в массив char.
Вобщем пока нужно: 1) строку разбить на слова и слова запихнуть в масив char....

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

Записать день в переменную d,месяц в переменную m, год в переменную y
Как можно получить системную дату? Мне надо записать день в переменную d,месяц...

19
soon
2545 / 1310 / 177
Регистрация: 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;
}
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) - что это и как работает?
0
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 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;
}
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:30 #5
http://www.boost.org/doc/libs/1_40_0/libs/conversion/lexical_cast.htm
0
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:40  [ТС] #6
На C нет sstream
0
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
02.04.2012, 17:42 #7
StalkerSmerch, и что? В паскале тоже нет.
0
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:45  [ТС] #8
Мне надо только на C(
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:46 #9
Цитата Сообщение от StalkerSmerch Посмотреть сообщение
Мне надо только на C(
Нужно было уточнить в первом сообщении. На Си есть sprintf
0
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
02.04.2012, 17:46 #10
StalkerSmerch, так надо было раньше говорить. Довольствуйся тем что дали. Здесь нет телепатов.
0
Kuzia domovenok
2241 / 2010 / 458
Регистрация: 25.03.2012
Сообщений: 7,070
Записей в блоге: 1
02.04.2012, 17:50 #11
Товарищи! вас же на Си просят!
C
1
2
3
char str[8];
float var= 10.4021;
sprintf(str, "%f", var)
О, уже подсказали.
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 17:51 #12
Kuzia domovenok, Глянь сообщение #9
0
StalkerSmerch
1 / 1 / 2
Регистрация: 04.03.2012
Сообщений: 159
02.04.2012, 17:52  [ТС] #13
Dekio, извиняюсь, моя оплошность. В следующий раз буду уточнять
0
fasked
Эксперт С++
4978 / 2557 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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.
2
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
0
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.04.2012, 18:43 #16
StalkerSmerch, все работает http://liveworkspace.org/code/762693dd7ae1f310a614e85d11a64bda

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

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

Не записывается массив в переменную
Не записывается массив в переменную при считывании новой i, то есть была у нас...

Передать переменную в массив
как передать переменную с в массив?? #include &quot;stdafx.h&quot; #include &quot;iostream&quot;...

Перевести массив char в переменную string
Помогите перевести массив char в переменную string


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru