Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187

Конвертация строки в число

31.03.2010, 00:32. Показов 1535. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Стыдно конечно, но вот уже пол года изучаю с++ и только сейчас заметил что при данном коде
C++
1
2
3
4
5
6
7
8
9
10
#include <windows.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
    char ch[] = "234:1:9845";
    cout<<atoi(&ch[0]);
    system("pause");
    return 0;
}
Выводится 234, если &ch[6] то выведет 9845. Собственно почему так, просветите?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2010, 00:32
Ответы с готовыми решениями:

Конвертация строки в число
библиотека string, присваиваю целой переменной элемент строки, а он присваивает кодировку, тобишь если элемент строки '0' то переменная...

Конвертация строки в число: реализовать сложение чисел
Привет Форумчане. В общем есть файл который мы успешно открыли в нем находятся в каждой строке по какому то числу, например: 0.64, а так...

Конвертация строки в число
Здравствуйте мне нужна ваша помощь чтобы исправить ошибку при компиляции (Смотрите вложения) Вот полный исходник. ...

6
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
31.03.2010, 00:34
потому что &ch[6] это адрес строки "9845".
1
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187
31.03.2010, 00:40  [ТС]
Т.е. получается что &ch[n] это строка с n-го до первого элемента не являющегося цифрой?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
31.03.2010, 01:06
Цитата Сообщение от Metal_666_ Посмотреть сообщение
Т.е. получается что &ch[n] это строка с n-го до первого элемента не являющегося цифрой?
Да. Вот простой пример реализации atoi() /при переполнении возвращает бессмысленное значение, но суть не в этом/
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* int atoi(const char*) принимает указатель на строку, содержащую целое число возвращает число */
int atoi(const char* s){
    int sign = 1;
    int value = 0;
 
    while ( isspace(*s) )
        ++s;
    if ( *s == '+' )
        ++s;
    if ( *s == '-' ){
        sign = -1;
        ++s;
    }
    while ( isdigit(*s) )
        value = value * 10 + *s++ - '0';
 
    return value * sign;
}
1
15 / 15 / 5
Регистрация: 19.10.2009
Сообщений: 187
31.03.2010, 04:06  [ТС]
Спасибо большое!
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
31.03.2010, 10:47
Цитата Сообщение от Metal_666_ Посмотреть сообщение
Т.е. получается что &ch[n] это строка с n-го до первого элемента не являющегося цифрой?
Нет. Это строка с ch[n] элемента до символа конца строки.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
31.03.2010, 11:14
Цитата Сообщение от Vourhey Посмотреть сообщение
Это строка с ch[n] элемента до символа конца строки.
По-моему всё-таки правильнее "до первого элемента не являющегося цифрой". Если передать строку "123Ы45", atoi() вернёт 123
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2010, 11:14
Помогаю со студенческими работами здесь

Конвертация из строки в число
Возник следующий....ступор. Вопшем есть функция, получающая на входе строку, в которой указаны некоторые числа через пробел. Задача функции...

Конвертация строки в число
int i=0; i=atoi(label6-&gt;Text.c_str()); error C2664: atoi: невозможно преобразовать параметр 1 из &quot;System::String ^&quot; в...

Красивая конвертация строки в число
Здравствуйте. Есть строка, в ней может быть записано как число, так и что угодно, на пример просто пробелы. Мне необходимо преобразовать...

Конвертация строки/кортежа/массива в целое число. Работа с базой
Дано: В базе MySQL имеется таблица со строчными и числовыми значениями. Надо: Достать из базы числовой массив и получить сумму всех...

Конвертация массива в число
int bitmask = new int; bitmask = 1; bitmask = 0; bitmask = 1; bitmask = 1; bitmask = 0; bitmask = 0; bitmask = 0; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru