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

09.11.2008, 23:17
|
|
Постоянный
Регистрация: 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);
}
}
}
}
|
|
|

10.11.2008, 02:49
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
Провел на форуме: 2418438
Репутация:
93
|
|
имеется char[] , там храниться hex значение, как перевести в десятичное ?? с меня плюсы!
|
|
|

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
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|