ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

10.11.2008, 07:54
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Код:
strtol (str, NULL, 16);
|
|
|

10.11.2008, 23:22
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
У меня следующий вопрос по С:
у меня есть переменная as типа char. мне нужно, чтобы прога сделала а=float(as), то есть перевела эту строку в вещественное число.
В книге нашёл такую функцию как strtod, но в ней нужно указывать саму строку(это понятно) и символ, на котором строка заканчивается
Это какой же мне нужно нописать там символ, если у меня в строке ничего кроме этого числа нет?
Вот код проги, на всякий случай, может поможет =):
Код:
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
int main() {
int stop, i;
float A[1024], B[1024], a;
char end[]="END", as[30];
i=1;
stop=0;
while (stop=0) {
printf("\nEnter a, please:\n");
gets(as);
if (strcmp(as, end)==0) {
stop=1;
}
else {
a=strtod(as, );
A[i-1]=a;
i=i+1;
printf()
}
}
|
|
|

10.11.2008, 23:27
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме: 1027635
Репутация:
234
|
|
http://www.cplusplus.com/reference/clibrary/cstdlib/strtod.html
вот пример оттуда:
PHP код:
/* strtod example */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
char szOrbits[] = "365.26 27.32";
char * pEnd;
double d1, d2;
d1 = strtod (szOrbits,&pEnd);
d2 = strtod (pEnd,NULL);
printf ("The moon completes %.2lf orbits per Earth year.\n", d1/d2);
return 0;
}
|
|
|

10.11.2008, 23:33
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
не надо функций для перевода в вещественное
Код:
#include <stdio.h>
int main(void)
{
int x = 6;
float y;
scanf("%f",&y);
printf("%f",y);
return 0;
}
Последний раз редактировалось bons; 10.11.2008 в 23:36..
|
|
|

10.11.2008, 23:48
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
Сообщение от bons
не надо функций для перевода в вещественное
Код:
#include <stdio.h>
int main(void)
{
int x = 6;
float y;
scanf("%f",&y);
printf("%f",y);
return 0;
}
Чё то вот здесь я совсем не пойму
во-первых зачем нужно вводить х=6 ?
и во-вторых мне нельзя сразу делать переменную типа float, так как с клавы можно ввести и слово и тогда прога вылетает с ошибкой 
|
|
|

11.11.2008, 13:36
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Думаю, вот решение:
Код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int i = 0;
char as[30];
double A[1024];
while(1)
{
printf("\nEnter a, please:\n");
gets(as);
if (!strcmp(as, "END"))
break;
A[i++] = strtod(as, NULL);
}
printf("Result values:\n");
for(int j = 0; j < i; j++)
printf("%f\t", A[j]);
}
Вот пример обработки:
Код:
Enter a, please:
123
Enter a, please:
asdfg
Enter a, please:
456
Enter a, please:
END
Result values:
123.000000 0.000000 456.000000
|
|
|

11.11.2008, 17:58
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
Сообщение от VIP
Чё то вот здесь я совсем не пойму
во-первых зачем нужно вводить х=6 ?
и во-вторых мне нельзя сразу делать переменную типа float, так как с клавы можно ввести и слово и тогда прога вылетает с ошибкой 
ты прав x=6 не нужно, эт мне бухать надо меньше 
а вот прога с ошибкой вылетать не должна никак
|
|
|

11.11.2008, 20:58
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
>>кто знает, как загрузить файл с url на диск? код нужен очень на C/C++
1 функция
http://msdn.microsoft.com/en-us/library/ms775123(VS.85).aspx
|
|
|
помогите найти где я втыканул в коде... |

12.11.2008, 00:28
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
помогите найти где я втыканул в коде...
есть функция RUN которая берет значение, полученное с листбокса диалога, передает его в подключаемую DLL библиотеку, которая должна приплюсовать к этому значению 3 и вернуть в RUN результат. Потом функция RUN выводит результат не экран.
вот что накодил...
Код:
void CMyFrameWin::OnRun()
{
/*
char s[80]; // проверка доходит ли Number до передачи в DLL
CClientDC dc(this); // проверка доходит ли Number до передачи в DLL
wsprintf(s,"Number is %d",Number); // проверка доходит ли Number до передачи в DLL
dc.TextOut(100,200,s); // проверка доходит ли Number до передачи в DLL
*/
int res;
HINSTANCE hDll;
char s[100];
hDll=::LoadLibrary("MyDll");
typedef int (*FUN)(int);
FUN func;
func=(FUN)::GetProcAddress(hDll, "calc");
res=(*func)(Number);
sprintf(s,"%f", res);
MessageBox(s,"Result");
//создание и запись результата в файл
FILE *result;
result=fopen("result.txt","w");
fprintf(result,"%f",res);
fclose(result);
}
значение Number в функцию RUN доходит нормально (проверка выводом на экран без использования DLL)
собственно сам код DLL библиотеки: MyDll
Код:
#include "stdafx.h"
#include <conio.h>
int calc(int Number)
{
int r=Number;
int res;
res=r+3;
return res;
}
и код файлика MyDll.def
Код:
LIBRARY "MyDll"
DESCRIPTION 'This library has one function'
EXPORTS
calc @1
независимо от того какое значение Number получает функция RUN от листбокса диалога (а получает постоянно точно то же что я выбрал в диалоге, я проверял без подключения DLL простым выводом) получаем постоянно в результате НОЛЬ...
я уже хз где я мог втыкануть.... может тому кто долго не втыкал этот бред на свежую голову все покажется просто и укажет на траблу..
Заранее спасибо за любой ответ.
|
|
|

12.11.2008, 00:29
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 57
Провел на форуме: 265628
Репутация:
23
|
|
Доброго времени суток, появилась такая проблемка c алгоритмом Хаффмана:
Имеется массив содержащий набор двоичныч кодов ( пр. char a[3][3] = {{'0','0','0'},{'1','0','1'},{'1','1','1'}}; ) для букв a, b, c. Как в файле поменять каждую a, b и c на ее двоичный код? Совсем чего-то запутался, ведь нет же переменных, которые хранят двоичный код? А с этим чаром что так 8 байт что так =(
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|