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
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1811  
Старый 10.11.2008, 07:54
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
strtol (str, NULL, 16);
 
Ответить с цитированием

  #1812  
Старый 10.11.2008, 23:22
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

У меня следующий вопрос по С:

у меня есть переменная 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()
               }
}
 
Ответить с цитированием

  #1813  
Старый 10.11.2008, 23:27
jawbreaker
Участник форума
Регистрация: 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 d1d2;
  
d1 strtod (szOrbits,&pEnd);
  
d2 strtod (pEnd,NULL);
  
printf ("The moon completes %.2lf orbits per Earth year.\n"d1/d2);
  return 
0;

 
Ответить с цитированием

  #1814  
Старый 10.11.2008, 23:33
bons
Участник форума
Регистрация: 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..
 
Ответить с цитированием

  #1815  
Старый 10.11.2008, 23:48
VIP
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме:
89596

Репутация: 21
Отправить сообщение для VIP с помощью ICQ
По умолчанию

Цитата:
Сообщение от bons  
не надо функций для перевода в вещественное
Код:
#include <stdio.h>

int main(void)
{
	int x = 6;
	float y;
	scanf("%f",&y);
	printf("%f",y);
	return 0;
}
Чё то вот здесь я совсем не пойму
во-первых зачем нужно вводить х=6 ?
и во-вторых мне нельзя сразу делать переменную типа float, так как с клавы можно ввести и слово и тогда прога вылетает с ошибкой
 
Ответить с цитированием

  #1816  
Старый 11.11.2008, 13:36
groupby
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме:
127017

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

Цитата:
Сообщение от VIP  
!
Думаю, вот решение:

Код:
#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
 
Ответить с цитированием

  #1817  
Старый 11.11.2008, 17:58
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

Цитата:
Сообщение от VIP  
Чё то вот здесь я совсем не пойму
во-первых зачем нужно вводить х=6 ?
и во-вторых мне нельзя сразу делать переменную типа float, так как с клавы можно ввести и слово и тогда прога вылетает с ошибкой
ты прав x=6 не нужно, эт мне бухать надо меньше
а вот прога с ошибкой вылетать не должна никак
 
Ответить с цитированием

  #1818  
Старый 11.11.2008, 20:58
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

>>кто знает, как загрузить файл с url на диск? код нужен очень на C/C++

1 функция

http://msdn.microsoft.com/en-us/library/ms775123(VS.85).aspx
 
Ответить с цитированием

помогите найти где я втыканул в коде...
  #1819  
Старый 12.11.2008, 00:28
NetSter
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме:
4275992

Репутация: 1188


Question помогите найти где я втыканул в коде...

есть функция 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 простым выводом) получаем постоянно в результате НОЛЬ...



я уже хз где я мог втыкануть.... может тому кто долго не втыкал этот бред на свежую голову все покажется просто и укажет на траблу..
Заранее спасибо за любой ответ.
 
Ответить с цитированием

  #1820  
Старый 12.11.2008, 00:29
Lee_fx
Познающий
Регистрация: 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 байт что так =(
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по 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