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

строку в double - C++

Восстановить пароль Регистрация
 
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
13.12.2013, 00:59     строку в double #1
Здравствуйте, вот эта часть кода
C++
1
2
3
4
5
6
7
8
9
double val;
FILE *stat;
stat = fopen("file", "r");
char s[3];
fscanf(stat, "%s", &s);
cout << s << endl;
val = std::strtod(s, 0);
cout << val << endl;
fclose(stat);
Возвращает s = 0.66 (или 0.54 итд), а val всегда равно нулю. Пробовал и atof, и (double)s, однохренительно.
ШЯДНТ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
13.12.2013, 01:09     строку в double #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
template < typename T >
T string_to ( const std :: string & str ) {
    T result ;
    std :: stringstream ss ( str ) ;
    ss >> result ;
    return result ;
}
 
 
int main() {
    std :: cout << string_to < double > ( "122.43" ) << std :: endl ;
}
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
13.12.2013, 01:11     строку в double #3
Voroshek, массив s слишком короткий
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
13.12.2013, 01:27  [ТС]     строку в double #4
igorrr37, поднял до 256 - без изменений.
Croessmah, специально использовал инструменты сей (с которыми я вообще-то не очень); хотел сделать немножко понизкоуровнее, полегче.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
13.12.2013, 01:34     строку в double #5
Цитата Сообщение от Voroshek Посмотреть сообщение
без изменений.
небось локаль русскую поставили, да?
Yandex
Объявления
13.12.2013, 01:34     строку в double
Ответ Создать тему
Опции темы

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