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

  #1  
Старый 09.11.2008, 23:17
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

2 Zitt, вот еще примерчик, откопал в ахивах
Код:
#include <windows.h>
#include <stdio.h>
#include <conio.h>

#define MAX 100

void FindDir();

main(int argc, char *argv[])
{
   
	FindDir("C:\\", "*.*");
}
void FindDir(char* path,char* mask)
{

    WIN32_FIND_DATA wfd;    
	char file[100] = "";
    HANDLE hfound;  
    char newpath[MAX_PATH]; 
    char fpath[MAX_PATH];   
    char delpath[MAX_PATH];
	FILE *f;

    strcpy(fpath,path); 
    strcat(fpath,"\\"); 
    strcpy(delpath,fpath);  
    strcat(fpath,mask); 
 
	f = fopen("dirs.txt", "a");
 
    if((hfound=FindFirstFile(fpath,&wfd))!=INVALID_HANDLE_VALUE)    
        {
        if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))   
            {
            //  
			printf("Error: %d\n", GetLastError());
            }
        while(FindNextFile(hfound,&wfd))    
        {   
			int i = 1;
            if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))   
            {
				i = 0;
             }
		if(i && (strcmp(wfd.cFileName, "..") != NULL))
			fprintf(f, "%s\n", wfd.cFileName);
            }
        }
    fclose(f);
    
    FindClose(hfound);  

    strcpy(fpath,path); 
    strcat(fpath,"\\*.*");  
    
    if((hfound=FindFirstFile(fpath,&wfd))!=INVALID_HANDLE_VALUE)    
        {
        if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))    
            {
            strcpy(newpath,path);   
            strcat(newpath,"\\");   
            strcat(newpath,wfd.cFileName);  
            FindDir(newpath,mask);
            }
        
        while(FindNextFile(hfound,&wfd))    
            {
            if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))    
                {
                strcpy(newpath,path);   
                strcat(newpath,"\\");   
                strcat(newpath,wfd.cFileName);  
                FindDir(newpath,mask);
                }
            }
        }
    }
 
Ответить с цитированием

  #2  
Старый 10.11.2008, 02:49
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме:
2418438

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

имеется char[] , там храниться hex значение, как перевести в десятичное ?? с меня плюсы!
 
Ответить с цитированием

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

Репутация: 905


По умолчанию

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

  #4  
Старый 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()
               }
}
 
Ответить с цитированием

  #5  
Старый 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;

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

  #6  
Старый 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..
 
Ответить с цитированием

  #7  
Старый 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, так как с клавы можно ввести и слово и тогда прога вылетает с ошибкой
 
Ответить с цитированием

  #8  
Старый 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
 
Ответить с цитированием

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

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

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

  #10  
Старый 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
 
Ответить с цитированием
Ответ



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