Kselax.ru

Hacker Kselax — the best hacker in the world

Menu
  • Блог
  • Контакты
  • wp plugin генератор
  • Русский
    • Русский
    • English
Menu

счмчясмчяс

Выставить в командной строке кодировку по умолчанию через реестр »

Start->Run->regedit
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage
сменить кодировку в OEMCP с 866 на 1251

Включиение режима AHCI ссылка.

Спецификаторы функции printf

Показать »

Таблица   Спецификаторы формата функции printf()
Код Формат
%c Символ
%d Десятичное целое число со знаком
%i Десятичное целое число со знаком
%e Научный формат (строчная буква е)
%Е Научный формат (прописная буква Е)
%f Десятичное число с плавающей точкой
%g В зависимости от того, какой формат короче, применяется либо %e, либо %f
%G В зависимости от того, какой формат короче, применяется либо %E, либо %f
%o Восьмеричное число без знака
%s Строка символов
%u Десятичное целое число без знака
%x Шестнадцатеричное число без знака (строчные буквы)
%X Шестнадцатеричное число без знака (прописные буквы)
%р Указатель
%n Указатель на целочисленную переменную. Спецификатор вызывает присвоение этой це-лочисленной переменной количества символов, выведенных перед ним
 %% Знак %

«Горячие клавиши» WordPress для визуального редактора

Показать »

Редактируя запись в визуальном редакторе, можно использовать следующие клавиатурные сокращения:

  • Ctrl + B = Полужирный
  • Ctrl + I = Курсив
  • Ctrl + C = Копировать
  • Ctrl + V = Вставить
  • Ctrl + X = Вырезать
  • Ctrl + A = Выделить все
  • Ctrl + Z = Отменить
  • Ctrl + Y = Повтор
  • Ctrl + [номер] = Вставить заголовок, например: CTRL+1 = <h1>, CTRL+2 = <h2>.
  • Alt + Shift + N = Проверка правописания
  • Alt + Shift + L = Выравнивание по левому краю
  • Alt + Shift + J = Выравнивание по ширине
  • Alt + Shift + C = Выравнивание по Центру
  • Alt + Shift + D = Зачеркивание
  • Alt + Shift + R = Выравнивание по правому краю
  • Alt + Shift + U = Маркированный список
  • Alt + Shift + A = Вставить ссылку
  • Alt + Shift + O = Нумерованный список
  • Alt + Shift + S = Удалить ссылку
  • Alt + Shift + Q = Цитаты
  • Alt + Shift + M = Вставить изображение
  • Alt + Shift + T = Вставить «Читать далее»
  • Alt + Shift + P = Вставить разрыв страницы

Вывод русских символов в консоли:

1
setlocale(LC_ALL, "Russian");

 

Изменить кодировку в консоли можно на utf8 командой chcp 65001 и на cp1251 командой chcp 1251, на дос chcp 886.

 

Перейти на другой диск cd /d d: попадем на диск d: или cd /d e: и мы попадем на диск e, просто по папкам переходить cd directoryName. Можно так же просто переходить по дискам набрав в команды e: и мы попадаем на диск e и набрав d: диск d и c: попадаем на диск d. Команда dir покажет содержимое текущей папки.

visual studio 2013 ошибка: This function or variable may be unsafe. Как устранить? Заходим Свойства проекта -> C/C++ -> Препроцессор -> Определения препроцессора -> и добавляем там строчку «_CRT_SECURE_NO_WARNINGS»

visual studio 2010 ошибка: сбой при преобразовании в coff файл недопустим или поврежде. Как Устранить? Заходим Свойства проекта -> С/С++ -> Компоновщик -> Общие -> Включить инкрементную компоновку -> и выбираем там нет(/INCREMENTAL:NO). Если не помогает, то нужно скачать обновление и установить обновление по ссылке http://www.microsoft.com/ru-RU/download/details.aspx?id=23691

Добавлять данные в mysql и что б кодировка была нужная нужно прописать mysql_set_charset( ‘utf8’ );

Добавление выделения текста с помощью wp-note

wp-not

Функция для преобразования из string utf8 в wstring utf8

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//Функция для перевода из utf-8 string в utf-8 wstring
wstring Utf8String_to_Utf8Wstring(const char *str)
{
wstring res;
int result_u, result_c;
 
result_u = MultiByteToWideChar(CP_UTF8,
0,
str,
-1,
0,
0);
 
if (!result_u)
return 0;
 
wchar_t *ures = new wchar_t[result_u];
 
if(!MultiByteToWideChar(CP_UTF8,
0,
str,
-1,
ures,
result_u))
{
delete[] ures;
return 0;
}
 
res.append(ures);
delete[] ures;
return res;
}

Функция для преобразования из wstring Utf8 в string Utf8

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//функция для перевода из wstring Utf8 в string Utf8
string Utf8Wstring_to_Utf8string(const wchar_t *str)
{
string res;
int result_u, result_c;
 
const wchar_t *ures=str;
 
result_c = WideCharToMultiByte(
CP_UTF8,
0,
ures,
-1,
0,
0,
0, 0);
 
if(!result_c)
{
delete [] ures;
return 0;
}
 
char *cres = new char[result_c];
 
if(!WideCharToMultiByte(
CP_UTF8,
0,
ures,
-1,
cres,
result_c,
0, 0))
{
delete[] cres;
return 0;
}
 
res.append(cres);
delete[] cres;
return res;
}

Функция для преобразования из Utf8 в cp1251

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
string Utf8_to_cp1251(const char *str)
{
    string res;
    int result_u, result_c;
 
    result_u = MultiByteToWideChar(CP_UTF8,
        0,
        str,
        -1,
        0,
        0);
 
    if (!result_u)
        return 0;
 
    wchar_t *ures = new wchar_t[result_u];
 
    if(!MultiByteToWideChar(CP_UTF8,
        0,
        str,
        -1,
        ures,
        result_u))
    {
        delete[] ures;
        return 0;
    }
 
    result_c = WideCharToMultiByte(
        1251,
        0,
        ures,
        -1,
        0,
        0,
        0, 0);
 
    if(!result_c)
    {
        delete [] ures;
        return 0;
    }
 
    char *cres = new char[result_c];
 
    if(!WideCharToMultiByte(
        1251,
        0,
        ures,
        -1,
        cres,
        result_c,
        0, 0))
    {
        delete[] cres;
        return 0;
    }
    delete[] ures;
    res.append(cres);
    delete[] cres;
    return res;
}

Функция перевода из cp1251 в Utf8

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//функция перевода из cp1251 в Utf8
string cp1251_to_Utf8(const char *str)
{
    string res;
    int result_u, result_c;
    result_u = MultiByteToWideChar(CP_UTF8,
        0,
        str,
        -1,
        0,
        0);
    if (!result_u)
        return 0;
    wchar_t *ures = new wchar_t[result_u];
    if(!MultiByteToWideChar(CP_UTF8,
        0,
        str,
        -1,
        ures,
        result_u))
    {
        delete[] ures;
        return 0;
    }
    result_c = WideCharToMultiByte(
        CP_UTF8,
        0,
        ures,
        -1,
        0,
        0,
        0, 0);
    if(!result_c)
    {
        delete [] ures;
        return 0;
    }
    char *cres = new char[result_c];
    if(!WideCharToMultiByte(
        CP_UTF8,
        0,
        ures,
        -1,
        cres,
        result_c,
        0, 0))
    {
        delete[] cres;
        return 0;
    }
    delete[] ures;
    res.append(cres);
    delete[] cres;
    return res;
}

Функция переводит строку RU в транслит

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include <regex>
using std::regex;
using std::smatch;
using std::regex_search;
using std::regex_replace;
 
//функция переводит строку RU в транслит
string translate(string text)
{
const int size=76;
string rus[size]={"а","б","в","г","ґ","д","е","є","ж","з","и","і","ї","й","к",  
    "л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш",  
    "щ","ь","ю","я","ы","ъ","ё","э"," ","_",".",
"a","b","c","d","e","f","g","h","i","j",
"k","l","m","n","o","p","q","r","s","t",
"u","v","w","x","y","z",
"0","1","2","3","4","5","6","7","8","9"};
    string eng[size]={"a","b","v","g","g","d","e","e","zh","z","i","i","yi","j","k",  
    "l","m","n","o","p","r","s","t","u","f","h","ts","ch","sh",  
    "shh","","yu","ya","u","","yo","e","-","_","-",
"a","b","c","d","e","f","g","h","i","j",
"k","l","m","n","o","p","q","r","s","t",
"u","v","w","x","y","z",
"0","1","2","3","4","5","6","7","8","9"};
    std::string rezult;
//1.перевод в нижний регистр строки
char c;
for(int i=0; i<text.length(); i++)
{
// bool flag=true;
text[i]=tolower(text[i]);
for(int j=0;j<size;j++)
{
if(text[i]==rus[j][0])
{
// cout <<"text[i]= "<<text[i]<<" rus[j][0]= "<<rus[j][0]<<" eng[j]= "<<eng[j]<<endl;
rezult+=eng[j];
// flag=false;
break;
}
}
//if(flag) rezult+=text[i];
}
rezult=regex_replace(rezult,regex("--+"),string("-"));
return rezult;
}
 
int main()
{
setlocale(LC_ALL, "Russian");
string str="Здорова мир!!!";
string str_tranclate=translate(str);
cout <<"str_tranclate= "<<str_tranclate<<endl;
 
return 0;
}

Вывод:

C++ tranclate

Функция выделяет из пути название изображения, и возвращает его

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include <regex>
using std::regex;
using std::smatch;
using std::regex_search;
 
string get_img_name(string url)
{
string result;
//извлекаем последнее вхождение
smatch sm;
if(regex_search(url,sm,regex("http:.*/((:?.*?)(:?\\.gif|\\.png|\\.jpg|\\.jpeg))(:?.*?)$")))
{
result=sm[1].str();
}
return result;
}
 
int main()
{
string url="http://webportalsrv.gost.ru/portal/system-voluntary.nsf/ad9847824280efa7c32576660041d562/0020f745a7feb2bc44257c3e00524191/$FILE/STG12600/STG12600.png?OpenElement";
string img_name=get_img_name(url);
cout <<"img_name= "<<img_name<<endl;
 
return 0;
}

Вывод:

C++function

Функция копирует изображение из интернета, принимает два параметра, первым url на изображение, а вторым куда копировать. Используется Curl

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <string>
using std::string;
#include <iostream>
using std::cout;
using std::endl;
using std::cerr;
#include <fstream>
using std::ofstream;
//подключаем curl
#include "curl/curl.h"
#pragma comment(lib,"curllib.lib")
//создаем функцию для записи
static size_t my_fun(char* ptr,size_t size, size_t nmemb, string* str)
{
    if(str)
    {
        //размещает в блоке памяти размером size*nmemb данные из ptr (видимо)
        str->append(ptr,size*nmemb);
        return size*nmemb;
    }
    else
        return 0;//ошибка
}
 
//функция принимает урл на изображение и папку куда нужно скопировать
//и копирует данные
bool curl_copy_img(const string url, const string papka)
{
CURL* curl;
CURLcode res;
string content;//хранит изображение
curl=curl_easy_init();
if(curl)
{
curl_easy_setopt(curl,CURLOPT_URL,url.c_str());
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,my_fun);
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&content);
res=curl_easy_perform(curl);
if(res==CURLE_OK)
;//cout <<"\nDone!"<<endl;
else
{
//cout <<"curl_easy_perform failed: "<<curl_easy_strerror(res)<<endl;
return false;//неудача
}
curl_easy_cleanup(curl);
}
ofstream ofs(papka,ofstream::out|ofstream::binary);
if(!ofs)
{
//cerr <<"don't open file '"+papka+"'"<<endl;
return false;
}
else
ofs <<content;
ofs.close();
 
return true;
}
int main()
{
string url="http://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Animal_diversity.png/265px-Animal_diversity.png";
url="http://webportalsrv.gost.ru/portal/system-voluntary.nsf/ad9847824280efa7c32576660041d562/0020f745a7feb2bc44257c3e00524191/$FILE/STG12600/STG12600.gif?OpenElement";
string papka="img1.png";
    if(curl_copy_img(url,papka))
cout <<"dane"<<endl;
else
cout <<"not copy"<<endl;
    return 0;
}

Функция принимает Url на изображение и извлекает из него имя самого изображения

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include <regex>
using std::regex;
using std::smatch;
using std::regex_search;
 
//принимает урл и возвращает имя картинки
string get_img_name(string url)
{
string result;
//извлекаем последнее вхождение
smatch sm;
if(regex_search(url,sm,regex("http:.*/((:?.*?)(:?\\.gif|\\.png|\\.jpg|\\.jpeg))(:?.*?)$")))
{
result=sm[1].str();
}
return result;
}
 
int main()
{
string url="http://webportalsrv.gost.ru/portal/system-voluntary.nsf/ad9847824280efa7c32576660041d562/0020f745a7feb2bc44257c3e00524191/$FILE/STG12600/STG12600.png?OpenElement";
string img_name=get_img_name(url);
cout <<"img_name= "<<img_name<<endl;
 
return 0;
}

img_name

Функция проверяет существование файла на диске, принимает путь к файлу

Показать »

1
2
3
4
5
6
7
#include <Windows.h>
 
//функция проверяет существование файла
bool FileExists(LPCTSTR fname)
{
return ::GetFileAttributes(fname) != DWORD(-1);
}

Перевод из int в string (int_to_string) и из string в int (string_to_int)

Показать »

Заголовочные файлы

1
2
#include <sstream>
using std::stringstream;

Функции:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
string int_to_string(int n)
{
stringstream ss;
ss <<n;
string s;
ss >>s;
return s;
}
 
int string_to_int(string s)
{
stringstream ss;
ss <<s;
int n;
ss >>n;
return n;
}

Функции htmlspecialchars() и htmlspacialchers_decode() преобразуют символы в последовательности html и наоборот последовательности html в символы. (текст должен быть в кодировке utf8 и в string)

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
using std::wstring;
#include <regex>
using std::wregex;
using std::regex_search;
#include <Windows.h>
 
//функция для перевода из wstring Utf8 в string Utf8
string Utf8Wstring_to_Utf8string(const wchar_t *str)
{
    string res;
    int result_u, result_c;
    const wchar_t *ures=str;
    result_c = WideCharToMultiByte(
        CP_UTF8,
        0,
        ures,
        -1,
        0,
        0,
        0, 0);
    if(!result_c)
    {
        delete [] ures;
        return 0;
    }
    char *cres = new char[result_c];
    if(!WideCharToMultiByte(
        CP_UTF8,
        0,
        ures,
        -1,
        cres,
        result_c,
        0, 0))
    {
        delete[] cres;
        return 0;
    }
    res.append(cres);
    delete[] cres;
    return res;
}
 
//Функция для перевода из utf-8 string в utf-8 wstring
wstring Utf8String_to_Utf8Wstring(const char *str)
{
    wstring res;
    int result_u, result_c;
    result_u = MultiByteToWideChar(CP_UTF8,
        0,
        str,
        -1,
        0,
        0);
    if (!result_u)
        return 0;
    wchar_t *ures = new wchar_t[result_u];
    if(!MultiByteToWideChar(CP_UTF8,
        0,
        str,
        -1,
        ures,
        result_u))
    {
        delete[] ures;
        return 0;
    }
    res.append(ures);
    delete[] ures;
    return res;
}
 
//функция деконвертирует html последовательности обратно в символы
void htmlspecialchars(string& str)
{
wstring str1=Utf8String_to_Utf8Wstring(str.c_str());
 
str1=regex_replace(str1,wregex(L"«"),wstring(L"«"));
str1=regex_replace(str1,wregex(L"»"),wstring(L"»"));
str1=regex_replace(str1,wregex(L"©"),wstring(L"©"));
str1=regex_replace(str1,wregex(L"&"),wstring(L"&amp;"));
str1=regex_replace(str1,wregex(L"\""),wstring(L"&quot;"));
str1=regex_replace(str1,wregex(L"'"),wstring(L"&#039;"));
str1=regex_replace(str1,wregex(L" "),wstring(L" "));
str1=regex_replace(str1,wregex(L"<"),wstring(L"&lt;"));
str1=regex_replace(str1,wregex(L">"),wstring(L"&gt;"));
str1=regex_replace(str1,wregex(L"®"),wstring(L"®"));
str1=regex_replace(str1,wregex(L"§"),wstring(L"§"));
 
str=Utf8Wstring_to_Utf8string(str1.c_str());//возвращаем результат
}
 
//функция деконвертирует html последовательности обратно в символы
void htmlspecialchars_decode(string& str)
{
wstring str1=Utf8String_to_Utf8Wstring(str.c_str());
 
str1=regex_replace(str1,wregex(L"«"),wstring(L"«"));
str1=regex_replace(str1,wregex(L"»"),wstring(L"»"));
str1=regex_replace(str1,wregex(L"©"),wstring(L"©"));
str1=regex_replace(str1,wregex(L"&amp;"),wstring(L"&"));
str1=regex_replace(str1,wregex(L"&quot;"),wstring(L"\""));
str1=regex_replace(str1,wregex(L"(?:&#039;|')"),wstring(L"'"));
str1=regex_replace(str1,wregex(L" "),wstring(L" "));
str1=regex_replace(str1,wregex(L"&lt;"),wstring(L"<"));
str1=regex_replace(str1,wregex(L"&gt;"),wstring(L">"));
str1=regex_replace(str1,wregex(L"®"),wstring(L"®"));
str1=regex_replace(str1,wregex(L"§"),wstring(L"§"));
 
str=Utf8Wstring_to_Utf8string(str1.c_str());//возвращаем результат
}
 
 
 
int main()
{
cout <<"Hellow world!"<<endl;
 
string s="<a href='test'>Test</a>";
cout <<"s= "<<s<<endl;
htmlspecialchars(s);
cout <<"s= "<<s<<endl;
htmlspecialchars_decode(s);
cout <<"s= "<<s<<endl;
 
return 0;
}

Вывод на экран

htmlscecialchars

Функция jeson_decode принимает строку вида «\\u041a\\u043e\\u0436\\u0430 \\u041b\\u044e\\u043a\\u0441 \\u0447\\u0435\\u0440\\u043d\\u0430\\u044f\n» и декодирует ее в нормальный вид «Кожа Люкс черная».

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include <regex>
using std::regex;
using std::regex_replace;
#include <vector>
using std::vector;
#include <Windows.h>
 
void jeson_decode(string& s)
{
// cout <<s<<endl;
    vector<string> vvv;
vvv.push_back("\\\\u0430");vvv.push_back("\\\\u0410");
vvv.push_back("\\\\u0431");vvv.push_back("\\\\u0411");
vvv.push_back("\\\\u0432");vvv.push_back("\\\\u0412");
vvv.push_back("\\\\u0433");vvv.push_back("\\\\u0413");
vvv.push_back("\\\\u0434");vvv.push_back("\\\\u0414");
vvv.push_back("\\\\u0435");vvv.push_back("\\\\u0415");
vvv.push_back("\\\\u0451");vvv.push_back("\\\\u0401");
vvv.push_back("\\\\u0436");vvv.push_back("\\\\u0416");
vvv.push_back("\\\\u0437");vvv.push_back("\\\\u0417");
vvv.push_back("\\\\u0438");vvv.push_back("\\\\u0418");
vvv.push_back("\\\\u0439");vvv.push_back("\\\\u0419");
vvv.push_back("\\\\u043a");vvv.push_back("\\\\u041a");
vvv.push_back("\\\\u043b");vvv.push_back("\\\\u041b");
vvv.push_back("\\\\u043c");vvv.push_back("\\\\u041c");
vvv.push_back("\\\\u043d");vvv.push_back("\\\\u041d");
vvv.push_back("\\\\u043e");vvv.push_back("\\\\u041e");
vvv.push_back("\\\\u043f");vvv.push_back("\\\\u041f");
vvv.push_back("\\\\u0440");vvv.push_back("\\\\u0420");
vvv.push_back("\\\\u0441");vvv.push_back("\\\\u0421");
vvv.push_back("\\\\u0442");vvv.push_back("\\\\u0422");
vvv.push_back("\\\\u0443");vvv.push_back("\\\\u0423");
vvv.push_back("\\\\u0444");vvv.push_back("\\\\u0424");
vvv.push_back("\\\\u0445");vvv.push_back("\\\\u0425");
vvv.push_back("\\\\u0446");vvv.push_back("\\\\u0426");
vvv.push_back("\\\\u0447");vvv.push_back("\\\\u0427");
vvv.push_back("\\\\u0448");vvv.push_back("\\\\u0428");
vvv.push_back("\\\\u0449");vvv.push_back("\\\\u0429");
vvv.push_back("\\\\u044a");vvv.push_back("\\\\u042a");
vvv.push_back("\\\\u044b");vvv.push_back("\\\\u042b");
vvv.push_back("\\\\u044c");vvv.push_back("\\\\u042c");
vvv.push_back("\\\\u044d");vvv.push_back("\\\\u042d");
vvv.push_back("\\\\u044e");vvv.push_back("\\\\u042e");
vvv.push_back("\\\\u044f");vvv.push_back("\\\\u042f");
vvv.push_back("\\\\n");vvv.push_back("\\\\r");
vvv.push_back("\\\\t");vvv.push_back("\\\\/");
vvv.push_back("\\\\\"");
 
vector<string> vvv1;
vvv1.push_back("a");vvv1.push_back("А");
vvv1.push_back("б");vvv1.push_back("Б");
vvv1.push_back("в");vvv1.push_back("В");
vvv1.push_back("г");vvv1.push_back("Г");
vvv1.push_back("д");vvv1.push_back("Д");
vvv1.push_back("е");vvv1.push_back("Е");
vvv1.push_back("ё");vvv1.push_back("Ё");
vvv1.push_back("ж");vvv1.push_back("Ж");
vvv1.push_back("з");vvv1.push_back("З");
vvv1.push_back("и");vvv1.push_back("И");
vvv1.push_back("й");vvv1.push_back("Й");
vvv1.push_back("к");vvv1.push_back("К");
vvv1.push_back("л");vvv1.push_back("Л");
vvv1.push_back("м");vvv1.push_back("М");
vvv1.push_back("н");vvv1.push_back("Н");
vvv1.push_back("о");vvv1.push_back("О");
vvv1.push_back("п");vvv1.push_back("П");
vvv1.push_back("р");vvv1.push_back("Р");
vvv1.push_back("с");vvv1.push_back("С");
vvv1.push_back("т");vvv1.push_back("Т");
vvv1.push_back("у");vvv1.push_back("У");
vvv1.push_back("ф");vvv1.push_back("Ф");
vvv1.push_back("х");vvv1.push_back("Х");
vvv1.push_back("ц");vvv1.push_back("Ц");
vvv1.push_back("ч");vvv1.push_back("Ч");
vvv1.push_back("ш");vvv1.push_back("Ш");
vvv1.push_back("щ");vvv1.push_back("Щ");
vvv1.push_back("ъ");vvv1.push_back("Ъ");
vvv1.push_back("ы");vvv1.push_back("Ы");
vvv1.push_back("ь");vvv1.push_back("Ь");
vvv1.push_back("э");vvv1.push_back("Э");
vvv1.push_back("ю");vvv1.push_back("Ю");
vvv1.push_back("я");vvv1.push_back("Я");
vvv1.push_back("\n");vvv1.push_back("\r");
vvv1.push_back("\t");vvv1.push_back("/");
vvv1.push_back("\"");
 
for(int i=0;i<vvv.size();i++)
{
s=regex_replace(s,regex(vvv[i]),vvv1[i]);
// cout <<"i= "<<i<<" "<<vvv[i]<<" => "<<vvv1[i]<<endl;
}
 
return;
}
 
int main()
{
setlocale(LC_ALL, "Russian");
cout <<"Hellow world!"<<endl;
 
string s="\\u041a\\u043e\\u0436\\u0430 \\u041b\\u044e\\u043a\\u0441 \\u0447\\u0435\\u0440\\u043d\\u0430\\u044f\n";
cout <<"s= "<<s<<endl;
jeson_decode(s);
cout <<"s= "<<s<<endl;
 
return 0;
}

Вывод на экран

jeson_decode

Функция считывает файлы из директории scandir()

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
using std::cout;
using std::endl;
using std::cerr;
#include <fstream>
using std::wofstream;
using std::wifstream;
using std::ifstream;
using std::ofstream;
#include <string>
using std::string;
using std::wstring;
#include <regex>
using std::regex;
using std::regex_replace;
#include <vector>
using std::vector;
#include <Windows.h>
 
//перевод из wstring в string
string wstring_to_string(wstring s)
{
wofstream wofs("temp.txt",wofstream::out);
if(!wofs){cerr <<"don't open file: 'temp.txt3'"<<endl;getchar();exit(1);}
wofs <<s;
wofs.close();
 
string s1;
ifstream ifs("temp.txt",ifstream::in);
if(!ifs){cerr <<"don't open file: 'temp.txt3'"<<endl;getchar();exit(1);}
ifs >>s1;
ifs.close();
return s1;
}
 
//перевод из string в wstring
wstring string_to_wstring(string s)
{
ofstream ofs("temp.txt",ofstream::out);
if(!ofs){cerr <<"don't open file: 'temp.txt1' "<<endl;getchar();exit(1);}
ofs <<s;
ofs.close();
 
wstring s1;
wifstream wifs("temp.txt",wifstream::in);
if(!wifs){cerr <<"don't open file: 'temp.txt2'"<<endl;getchar();exit(1);}
wifs >>s1;
wifs.close();
return s1;
}
 
vector<string> scandir(string p)
{
wstring Path=string_to_wstring(p);
WIN32_FIND_DATA FindFileData;
HANDLE hf;
 
hf=FindFirstFile((string_to_wstring(p)).c_str(),&FindFileData);
vector<string> v;
if(hf!=INVALID_HANDLE_VALUE)
{
do
{
if(FindFileData.dwFileAttributes!=FILE_ATTRIBUTE_DIRECTORY)
v.push_back(wstring_to_string(FindFileData.cFileName));
}
while(FindNextFile(hf,&FindFileData)!=0);
}
 
return v;
}
 
int main()
{
setlocale(LC_ALL, "Russian");
vector<string> v;
v=scandir("Debug/\\*");
cout <<"v.size()= "<<v.size()<<endl;
 
for(int i=0;i<v.size();i++)
{
cout <<"v["<<i<<"]= "<<v[i]<<endl;
}
 
return 0;
}

Вывод на экран

scandir

WordPress функции

Функция вставляет посты в БД вордпресс. Она принимает в качестве параметров: название таблицы с постами, название таблицы для связки поста с рубрикой, id автора поста, id рубрики с которой будет происходит связывание,  и остальные параметры которые необходимы для добавления. Все что нужно в коде закомментировано, там в принципе все ясно из комментариев. Так же функция возвращает id добавленной записи, возможно это пригодится для чего нить.

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<?php
//require_once "config.php";
//require_once "function.php";
//echo "hellow world<br>";
 
///////////////////////////////////////////////////////
############### подключаем базу данных
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 
//1.Подключаем БД
$localhost="localhost";
$bd_login="root";
$bd_pass="";
$bd_name="wordpress";
 
$db = mysql_connect($localhost,$bd_login,$bd_pass);//соединение
//выбор БД (wordpress)
mysql_select_db($bd_name ,$db);
mysql_set_charset( 'utf8' );
 
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////
#### ФУНКЦИЯ ЗАПОЛНЯЕТ ТАБЛИЦУ wp_posts и пост прикрепляет к рубрике в таблице wp_term_relationships ###########
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//функция также возвращает id вставленной записи для того чтобы можно ее было прикрепить к выбраной рубрике
function wp_add_wp_posts(
                        $wp_posts1,                //название таблицы где хронятся посты wp_posts
                        $wp_term_relationships1,//название таблицы для привязки рубрики wp_term_relationships
                        $wp_term_taxonomy1,        //название таблицы где хранится количество статей рубрики wp_term_taxonomy
                        $term_id1,                //содержит id рубрики к которой нужно привязать статью
                        $post_author1,            //id автора
                        $post_date1,            //какаето дата
                        $post_date_gmt1,        //еще какаето дата
                        $post_content1,            //текст статьи
                        $post_title1,            //заглавие статьи
                        $post_name1,            //ссылка на статью
                        $post_modified1,        //какаето дата
                        $post_modified_gmt1,    //еще какаето дата
                        $guid1                    //содержит короткую ссылку вида (http://wordpress/?p=) будет модифицированна в (http://wordpress/?p=idДобавленнойЗаписи)
                        )
{
    global $db;//получаем доступ к дескриптору базы данных
    $ID="NULL";                                //1
    $post_author=$post_author1;                //2
    $post_date=$post_date1;                 //3
    $post_date_gmt=$post_date_gmt1;            //4
    $post_content=addslashes(htmlspecialchars_decode($post_content1));            //5
    $post_title=addslashes(htmlspecialchars_decode($post_title1));                //6
    $post_excerpt="";                        //7
    $post_status="publish";                    //8
    $comment_status="open";                    //9
    $ping_status="open";                    //10
    $post_password="";                        //11
    $post_name=$post_name1;                    //12
    $to_ping="";                            //13
    $pinged="";                                //14
    $post_modified=$post_modified1;            //15
    $post_modified_gmt=$post_modified_gmt1;    //16
    $post_content_filtered="";                //17
    $post_parent="0";                        //18
    $guid="";                            //19 //пока пусто, затем сформируем ссылку
    $menu_order="0";                        //20
    $post_type="post";                        //21
    $post_mime_type="";                        //22
    $comment_count="0";                        //23
    
    $query="INSERT INTO `".$wp_posts1."` (\n\t";
    $query.="`ID` ,
    `post_author` ,
    `post_date` ,
    `post_date_gmt` ,
    `post_content` ,
    `post_title` ,
    `post_excerpt` ,
    `post_status` ,
    `comment_status` ,
    `ping_status` ,
    `post_password` ,
    `post_name` ,
    `to_ping` ,
    `pinged` ,
    `post_modified` ,
    `post_modified_gmt` ,
    `post_content_filtered` ,
    `post_parent` ,
    `guid` ,
    `menu_order` ,
    `post_type` ,
    `post_mime_type` ,
    `comment_count`
    )
    VALUES (";
    $query.="\n".$ID.", '".$post_author."', '".$post_date."', '".
    $post_date_gmt."', '".$post_content."', '".$post_title."', '".
    $post_excerpt."', '".$post_status."', '".$comment_status."', '".
    $ping_status."', '".$post_password."', '".$post_name."', '".
    $to_ping."', '".$pinged."', '".$post_modified."', '".$post_modified_gmt."', '".
    $post_content_filtered."', '".$post_parent."', '".$guid."', '".
    $menu_order."', '".$post_type."', '".$post_mime_type."', '".$comment_count;
    $query.="'\n);";
    
    if(!mysql_query($query,$db))
    {
        echo "query=$query<br>";
        echo "[wp_add_wp_posts] error - ".mysql_error();
        exit(1);
    }
    
    
    //######### обновим теперь поле ссылки в той же самой таблице ##########
    $id = mysql_insert_id ();    //получаем id только что вставленной записи
    $guid1.=(string)($id);        //формируем ссылку вида http://wordpress/?p=№
    $query = "UPDATE `".$wp_posts1."` SET `guid`='".$guid1."' WHERE `id`=".$id;
    //выполняем запрос
    if(!mysql_query($query,$db))
    {
        echo "query=$query<br>";
        echo "[wp_add_wp_posts] error - ". mysql_error();
        exit(1);
    }
    
    ########################################################################################
    #[1] ПОЛУЧАЕМ ДАННЫЕ ДЛЯ ПРИВЯЗКИ И КОТОРЫЕ НУЖНО ОБНОВИТЬ ИЗ ТАБЛИЦЫ wp_term_taxonomy #
    ########################################################################################
    $query = "SELECT * FROM `".$wp_term_taxonomy1."` WHERE term_id = '".$term_id1."'";
    $res = mysql_query($query);
    if(!$res)
    {
        echo "query=$query<br>";
        echo "[wp_add_wp_posts] error - ".mysql_error();
        exit(1);
    }
    $row = mysql_fetch_array($res);
    $count=$row['count']+1;                            //увеличиваем счетчик количество статей в рубрике на один
    $term_taxonomy_id=$row['term_taxonomy_id'];        //получаем значение поля term_id_taxonomy для id_term, (для нашей рубрики)    
    #[1]##############################################################
    
    ##################################################################
    #[2] ПРИВЯЗКА СТАТЬИ К РУБРИКЕ wp_term_relationships (ПРИВЯЗКА СТАТЬИ К РУБРИКЕ)
    //формируем запрос
    $object_id=$id;        //id последней добавленной записи
    //$term_taxonomy_id    //выше мы его инициализировали, это term_taxonomy_id для выбранной рубрики
    $term_order="0";    //в таблице там было ноль
    
    $query="INSERT INTO `".$wp_term_relationships1."` (\n\t";
    $query.="`object_id` ,
    `term_taxonomy_id` ,
    `term_order`
    )
    VALUES (";
    $query.="\n'".$object_id."', '".$term_taxonomy_id."', '".$term_order;
    $query.="'\n);";
    if(!mysql_query($query,$db))
    {
        echo $str."<br><br>";
        echo "[wp_add_wp_posts] ".$wp_term_relationships." error - ".mysql_error();
        exit(1);
    }
    #[2]#####################################################################
    
    ##################################################################
    #[3] ОБНОВЛЕНИЕ КОЛИЧЕСТВО СТАТЕЙ В РУБРИКЕ wp_term_taxonomy
    //обновляем данные
    //$count ее значение инициализированно и установлено на больше на один выше
    //$term_id1 она содержит айди рубрики
    $query="UPDATE ".$wp_term_taxonomy1." SET count='".$count."' WHERE term_id='".$term_id1."'";
    if(!mysql_query ($query))
    {
        echo $query."<br><br>";
        echo "[opdate_post] error - ".mysql_error();
        exit(1);
    }
    #[3]################################################################
    
    //формируем результат для проверки
    $result[0]=$id;
    $result[1]=$term_id1;
    $result[2]=$term_taxonomy_id;
    $result[3]=$count;
    return $result;//все нормально возвращаем $id
}
 
//||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\
 
 
//вызов функции добавления поста
$id=wp_add_wp_posts(
            "wp_posts",                //таблица с постами
            "wp_term_relationships",//таблица привязки поста к рубрике
            "wp_term_taxonomy",        //таблица где нужно обновить количество постов
            "6",                    //айди рубрики
            "1",                    //айди автора
            date("Y-m-d H:i:s"),    //дата добавления
            date("Y-m-d H:i:s"),    //еще кокаето датаss
            "Еб ты бля мазафака бичь! <!--more--> \nахаха-ха-ха",//текст
            "Это моя статья",//заглавие
            "aaaaaaatttttt-t-t-tccil6ka",//ссылка
            date("Y-m-d H:i:s"),    //дата модификации хз. что это
            date("Y-m-d H:i:s"),    //еще какаето дата
            "http://wordpress/?p="    //ссылка к которой нужно добавить айди вставленной записи (автомат в функции)
            );
echo "<pre>";
print_r($id);
echo "</pre>";
 
?>

вывод на экран

wordpress out

Функция php читает данные из папки, принимает путь к директории и возвращает массив файлов из нее. В директории должны быть одни файлы, не должно быть никаких папок.

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////
#### ФУНКЦИЯ ПРИНИМАЕТ СТРОКУ С АДРЕССОМ ПАПКИ И ЧИТАЕТ ЕЕ СОДЕРЖИМОЕ В ВИДЕ ФАЙЛОВ ###########
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//функция принимает адресс директории в которой находятся одни файлы, без папок
//и возвращает массив с именами этих файлов
function read_papka_data($dir)
{
$files;//содержит массив файлов
if(is_dir($dir)) //проверяем наличие директории
{  
         $files = scandir($dir);    // сканируем (получаем массив файлов)
         array_shift($files); // удаляем из массива '.'
         array_shift($files); // удаляем из массива '..'
    }
    else
{
echo "[read_data()] - ".$dir.' -такой директории нет;<br>';
exit(1);
}
return $files;
}
 
//читаем содержимое папки
$files=read_papka_data("new_data_str/");
 
echo "count(files)=".count($files)."<br>";
echo "<pre>";
print_r($files);
echo "</pre>";
 
?>

Вывод:

php output


Функция PHP читает файл принимает адрес файла и возвращает его содержимое в виде строки

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////
#### ФУНКЦИЯ ПРИНИМАЕТ СТРОКУ С АДРЕССОМ ФАЙЛА ЧИТАЕТ ЕГО СОДЕРЖИМОЕ И ВОЗВРАЩАЕТ ЕГО В ВИДЕ ПЕРЕМЕННОЙ ###########
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//функция принимает адресс файла, читает его содержимое и возвращает содержимое файла
function read_file($file_path)
{
// echo "file_path=$file_path<br>";
$file_read=""; //в этой переменной находятся имена файлов которые читались и добавлялись уже.
if(file_exists($file_path))
{
$fp=fopen($file_path, "r"); // Открываем файл в режиме чтения
if($fp)
{
$i=0;
while(!feof($fp))
{
$file_read.= fgets($fp, 999);
$i++;
}
}
else
{
echo "[read_file] - Ошибка при открытии файла".$file_path."<br>";
exit(1);
}
fclose($fp);
}
else
{
echo "[read_file] - file ".$file_path."  nety<br>";
exit(1);
}
return $file_read;
}
 
//читаем содержимое папки
$files=read_file("new_data_str/0.html");
 
echo "files=$files<br><hr>";
 
?>

Вывод:

php imgtest


Функция php curl, принимат урл и возвращает страницу из интернета

Показать »

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//создаём функцию
function get_proxy($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
# добавляем заголовков к нашему запросу. Чтоб смахивало на настоящих
$headers = array
(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
 
curl_setopt($ch, CURLOPT_HEADER, 0); // Отключаю в выводе header-ы false
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//возврат результата в качестве строки если true
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:34.0) Gecko/20100101 Firefox/34.0');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.dat');//сохранить куки полсе закрытия
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.dat');
$ss=curl_exec($ch);//делаем запрос
curl_close($ch);//закрываем
return $ss;
}

 

[youtube]https://www.youtube.com/watch?v=LjGkJAcNWCQ[/youtube]

3 thoughts on “счмчясмчяс”

  1. admin_kselax:
    7 апреля, 2013 в 05:31

    коментарий

    Ответить
  2. Kselax:
    25 ноября, 2013 в 13:53

    http://audioroller.ru/

    Ответить
  3. admin_kselax:
    29 декабря, 2013 в 23:21

    http://www.youtube.com/watch?v=08wl3_Yi_5o

    Ответить

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Рубрики

  • C++ (293)
  • JavaScript (1)
  • linux (1)
  • MFC (39)
  • node.js (2)
  • React (3)
  • vBulletin (5)
  • Visual Studio (9)
  • wordpress (18)
  • Разное (29)

Метки

Ajax bootstrap CentOS CLI expressjs FormData GDlib google Invisible reCAPTCHA JWT media MFC php react-router-dom redux repository wordpress RTTI STL vBulletin vector Visual Studio WINAPI wordpress wp-plugins XMLHttpRequest Двоичное дерево Задачи С++ Игры С++ Исключения С++ О-большое Операторы_С++ Перегрузка операторов С++ Поиск С++ Потоки Проектирование_С++ С++ Типы_С++ Типы С++ Шаблоны С++ библиотеки локализация макросы С++ сортировка С++

Свежие комментарии

  • ExchiNuGs к записи Программка для заполнения форума на vBulletin 3.8.7
  • RA3PKJ к записи visual C++, создание диалоговых окон.
  • admin к записи Как удалить изображение из google
  • Shakanris к записи Программка для заполнения форума на vBulletin 3.8.7
  • костя к записи visual C++, создание диалоговых окон.
©2021 Kselax.ru Theme by ThemeGiant