HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #3831  
Старый 25.09.2009, 22:14
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

подскажу хитрый финт, как пользоваться документацией. вбиваешь "gcvt msdn" в гугле. открываешь страницу. смотришь вниз. видишь

See Also
Reference
Data Conversion
Floating-Point Support
atof, _atof_l, _wtof, _wtof_l
_ecvt
_fcvt

методом напряжения извилин понимаешь что нижние функции похожи на эту, но есть atof/wtof что говорит об ascii/wide, т.е. о строках, и f - float. итого получается что мы нашли нужную функцию просто проанализировав док известной нам функции. собсно это и есть основной способ добычи информации.
 
Ответить с цитированием

  #3832  
Старый 25.09.2009, 22:34
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

Репутация: 21
По умолчанию

2Ra$cal
Мог бы просто посоветовать ссылку msdn (буду теперь впервую очередь там смотреть) а не указывать ф-цию которая подходит для других случаев и намекать на то что я лентяй.

В итоге код всеравно не работает, теперь показывает что все 0 помимо ф-ции atof пробовал strtod.
 
Ответить с цитированием

  #3833  
Старый 25.09.2009, 22:38
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

да я не наводил на лень. просто спешу и не вникал в вопрос. поэтому и дал описание не той функции. ну и раз уж так получилось решил рассказать как пользоваться доками =)
Цитата:
В итоге код всеравно не работает, теперь показывает что все 0
проверь, нету ли пробелов, и разделитель целой и дробной части. возможно нужно локаль грузить русскую, или реплейсить точки на запятые или наоборот.
 
Ответить с цитированием

  #3834  
Старый 25.09.2009, 22:47
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

Репутация: 21
По умолчанию

2Ra$cal
Пробелов лишних вроде нет( только те что разделяют числа, единственное что может strtok нет работать я вот эту строчку совсем не понимаю str=strtok(NULL," ") С разделителями поэксперементировал тот же хрен только в левой руке. Вообщем тривиальная задча а сижу над ней часа 4 точно.
 
Ответить с цитированием

  #3835  
Старый 25.09.2009, 23:09
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

дык ты в отладчике посомтри, что передаешь функции atof, и вставь сюда.
 
Ответить с цитированием

  #3836  
Старый 25.09.2009, 23:20
-m0rgan-
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме:
2584134

Репутация: 519


Отправить сообщение для -m0rgan- с помощью ICQ
По умолчанию

Добрый день!
Пишу "Регулярку"..
код:
Код:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
	char buffer;
	char * a; 
	char * b;
	char text[] = "<a>ssssssssssssssss</a>";
	a=strstr(text,"<a>");
	if(a)
	{
		b=strstr(text,"</a>");
	if(b)
	{
		strncpy(buffer,a,b-a);
	}
	}
	cout<<buffer;
	system("pause");
}
В итоге получаю:
<a>sssssssssssssss[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[...[ДОФИГА НЕПОНЯТНЫХ СИМВОЛОВ]

Как исправить?
 
Ответить с цитированием

  #3837  
Старый 25.09.2009, 23:25
Gin
Участник форума
Регистрация: 11.09.2008
Сообщений: 107
Провел на форуме:
262809

Репутация: 21
По умолчанию

Как говриться дурная голова рукам покоя не дает. Вся проблема была в том что выводя
это функцией
printf("here is point %d\n",temp.aPoints[i]);
Я выводил целое число вместо типа добле и получал херню полную, а так код работает.

Спасиб Ra$cal что возился со мной,мог бы поставил 10 '+.'

ЗЫ
Ну а что поделать опыт он вот так и появляется.
 
Ответить с цитированием

  #3838  
Старый 25.09.2009, 23:45
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 -m0rgan-
ты копируеш строку но забываеш про символ конца строки. можно сделать так:
Код:
len = b-a;
strncpy(buffer,a, len);
buffer[len] = 0;
 
Ответить с цитированием

  #3839  
Старый 25.09.2009, 23:58
-m0rgan-
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме:
2584134

Репутация: 519


Отправить сообщение для -m0rgan- с помощью ICQ
По умолчанию

slesh, спс иероглифов теперь нету, но есть "<a>":
<a>sssssssssssssss
 
Ответить с цитированием

  #3840  
Старый 26.09.2009, 12:26
-m0rgan-
Постоянный
Регистрация: 29.09.2008
Сообщений: 553
Провел на форуме:
2584134

Репутация: 519


Отправить сообщение для -m0rgan- с помощью ICQ
По умолчанию

Акиуально
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ