Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

14.11.2009, 11:50
|
|
Познающий
Регистрация: 13.05.2009
Сообщений: 40
Провел на форуме: 91842
Репутация:
1
|
|
Сообщение от Irdis
не пойдёт вылезает за границы допустимых значений
Переписал, выводит частично не те числа:
Код:
// http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%81%D1%82_%D0%9C%D0%B8%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%A0%D0%B0%D0%B1%D0%B8%D0%BD%D0%B0
#include <cmath>
#include <iostream>
bool is_prime(int);
int main(){
using namespace std;
int a,b;
cin >> a >> b;
for(int i=a;i<=b;i++){
if(is_prime(i)){
cout << i << " ";
}
}
system("PAUSE");
}
bool is_prime(int m){
using namespace std;
int r = 1000;
int t = m-1;
int s = 0;
bool b = true;
if(m==2){
return true;
}
if(m%2==0){
return false;
}
if(m==1){
return false;
}
while(t%2==0 || b){
b = false;
s++;
t=t/2;
}
for(int i=1;i<r+1;i++){
int a = 2+rand()%(m-1);
int x = (long(pow(float(a),float(t))))%m;
if((x==1)||(x==m-1)){
continue;
}
for(int j=1;j<s;j++){
x=(long(pow(float(x),2)))%m;
if(x==1){
return false;
}
if(x==m-1){
break;
}
return false;
}
}
return true;
}
|
|
|

14.11.2009, 13:14
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от Irdis
http://msdn.microsoft.com/en-us/library/aa450989.aspx
http://msdn.microsoft.com/en-us/library/ms886760.aspx
=======================
и кури конвертацию одного типа к другому
Спасибо конечно, но это только под винду.
Извиняюсь что не уточнил сразу, необходимо кроссплатформенное решение.
|
|
|

14.11.2009, 14:13
|
|
Познающий
Регистрация: 26.07.2005
Сообщений: 54
Провел на форуме: 47901
Репутация:
46
|
|
Можно ли хранить в std::string текст с кодировкой utf8?
Если да, то как?
вот так объявлен std:string
Код:
typedef basic_string<char_t> string;
а вот так мультибайтовый вариант std::wstring
Код:
typedef basic_string<wchar_t> wstring;
|
|
|

14.11.2009, 17:42
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Спасибо конечно, но это только под винду.
Извиняюсь что не уточнил сразу, необходимо кроссплатформенное решение.
вот тебе кросс вариант _http://utfcpp.sourceforge.net/
|
|
|

14.11.2009, 18:27
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Необходимо: консольное окошко, указываем урл
Софт коннектиться по указоному урлу,и записывает страничку в log.txt.
Спасибо.Желательно с использованием класса от Греата.Необходимо в своих образовательных целях 
|
|
|

14.11.2009, 21:50
|
|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
Помогите с кодом, нужно пробежаться с указанного начального каталога по его подкаталогам, удаляя из них файлы с расширениями *.@@@,*.bla, *.sdx.
|
|
|

15.11.2009, 01:58
|
|
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме: 1576821
Репутация:
88
|
|
winflip
Возрадуйся...
опа, у меня ещё и пост простой 101
Код:
#include <cmath>
#include <iostream>
bool is_prime(int);
int main(){
using namespace std;
//int a,b;
for(int i=1;i<=1000;i++){
if(is_prime(i)){
cout << i << " ";
}
}
system("PAUSE");
}
bool is_prime(int m){
using namespace std;
int r = 1000;
int t = m-1;
int s = 0;
//bool b = true;
if((m==2)||(m==3)){
return true;
}
if(m%2==0){
return false;
}
if(m==1){
return false;
}
while(t%2==0){
s++;
t=t/2;
}
for(int i=1;i<r+1;i++){
int a = 2+rand()%(m-3);
bool next = false;
long x = a;
for (int i1=0;i1<t-1;i1++)
x = (x*a)%m;
//int x = (long(pow(float(a),float(t))))%m;
if((x==1)||(x==m-1)){
continue;
}
for(int j=1;j<s;j++)
{
x=(x%m)*(x%m)%m;
if(x==1){
return false;
}
if(x==m-1){
next = true;
break;
}
}
if (!next)
return false;
}
return true;
}
|
|
|

15.11.2009, 04:34
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 130
Провел на форуме: 436500
Репутация:
11
|
|
Сообщение от draliokero
Помогите с кодом, нужно пробежаться с указанного начального каталога по его подкаталогам, удаляя из них файлы с расширениями *.@@@,*.bla, *.sdx.
В коде куча лишнего хлама, ибо вырезано кое-как из совсем другого проекта  удачи!
Код:
#include <stdio.h>
#include <windows.h>
HANDLE ch;
DWORD WriteToConsole(LPSTR text)
{
DWORD nChars;
char buf[MAX_PATH];
strcpy(buf,text);
strcat(buf,"\r\n");
char buf2[MAX_PATH];
CharToOem(buf,buf2);
WriteConsole(ch,buf2,strlen(buf2),&nChars,0);
return nChars;
}
void FindAndDelete(LPSTR path, LPSTR name )
{
WIN32_FIND_DATA wfd;
HANDLE fh;
char lol[MAX_PATH];
strcpy(lol,path);
strcat(lol,"*");
fh = FindFirstFile(lol,&wfd);
if(fh == INVALID_HANDLE_VALUE) return;
do
{
if (strstr(wfd.cFileName,name) != NULL)
{
char delfilebuf[MAX_PATH];
strcpy(delfilebuf,path);
strcat(delfilebuf,wfd.cFileName);
WriteToConsole(delfilebuf);
//Удаляем файл
DeleteFile(delfilebuf);
}
if ((!strcmp(wfd.cFileName,".")) || (!strcmp(wfd.cFileName,".."))) continue;
if (wfd.dwFileAttributes ==FILE_ATTRIBUTE_DIRECTORY)
{
char pathbuf[MAX_PATH];
strcpy(pathbuf,path);
if (pathbuf[strlen(pathbuf)-1] != '\\') strcat(pathbuf,"\\");
strcat(pathbuf,wfd.cFileName);
if (pathbuf[strlen(pathbuf)-1] != '\\') strcat(pathbuf,"\\");
FindAndDelete(pathbuf,name);
}
} while (FindNextFile(fh,&wfd));
FindClose(fh);
return;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
AllocConsole();
ch = GetStdHandle(STD_OUTPUT_HANDLE);
//Запускаем рекурсивную функцию
//Её параметры: путь к стартовой папке и
// расширение удаляемых файлов (с точкой!)
// удаляет файлы с заданным расширением в
//стартовой папке, её подпапках, и их подпапках, и их
//подпапках))))) etc
FindAndDelete("D:\\tst\\",".\@\@\@");
FindAndDelete("D:\\tst\\",".bla");
FindAndDelete("D:\\tst\\",".sdx");
system("pause");
return 0;
}
|
|
|

15.11.2009, 07:53
|
|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
Помогите разобраться, FindFirstFile(mask, &findFileData)
mask не передается  с типами какойто косяк
Код:
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
TCHAR * filemask[] = { ".---", ".@@@", ".$a", ".$db", ".$sa", ".___", "._dd",
"._detmp", "._mp", ".aps", ".bac", ".bak", ".bbs", ".bup",
".cdr_", ".chk", ".cpy", ".da0", ".diz", ".dmp", ".err",
".fic", ".fnd", ".ftg", ".fts", ".gid", ".ilk", ".ion",
".lo_", ".mch", ".MS", ".nav", ".ncb", ".nhc", ".nu3",
".nu4", ".old", ".pch", ".prv", ".sdi", ".sfap0", ".sfk",
".shd", ".sik", ".spc", ".sud", ".swr", ".syd", ".tds",
".temp", ".tmp", ".wbk", ".wc", ".wlg", ".wpx", ".xlg",
".xlk" };
int SearchFiles(TCHAR *buffer, TCHAR *mask)
{
HANDLE hFile;
WIN32_FIND_DATA findFileData;
TCHAR temp[MAX_PATH];
SetCurrentDirectory(buffer);
if((hFile=FindFirstFile(mask, &findFileData))==INVALID_HANDLE_VALUE)
{
printf("Invalid file handle (%d)\n", GetLastError());
return -2;
}
else
{
do
{
if(!strcmp(findFileData.cFileName, TEXT("."))||!strcmp(findFileData.cFileName, TEXT("..")))
{
continue;
}
if(findFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
strcpy(temp, buffer);
strcat(buffer, "\\");
strcat(buffer, findFileData.cFileName);
SearchFiles(buffer);
strcpy(buffer,temp);
continue;
}
printf("File name is %s\n", findFileData.cFileName);
}
while(FindNextFile(hFile, &findFileData)!=0);
}
FindClose(hFile);
return true;
}
int main(int argc, TCHAR* argv[])
{
TCHAR buffer[MAX_PATH];
GetCurrentDirectory(sizeof(buffer), buffer);
int arrsize = sizeof(filemask)/sizeof(int);
for(int i=0; i<arrsize; i++){
SearchFiles(buffer, filemask[i]);
}
system("pause");
return 0;
}
Последний раз редактировалось draliokero; 15.11.2009 в 14:30..
|
|
|

15.11.2009, 17:34
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
как в чистом С++ конвертировать текст в utf-8?
(и накрайняк как это сделать с бустом)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|