Выставить в командной строке кодировку по умолчанию через реестр »
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
Функция для преобразования из 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; } |
Вывод:
Функция выделяет из пути название изображения, и возвращает его
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; } |
Вывод:
Функция копирует изображение из интернета, принимает два параметра, первым 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; } |
Функция проверяет существование файла на диске, принимает путь к файлу
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"&")); 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"<")); str1=regex_replace(str1,wregex(L">"),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());//возвращаем результат } //функция деконвертирует 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"&"),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" ")); 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"§")); 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; } |
Вывод на экран
Функция 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; } |
Вывод на экран
Функция считывает файлы из директории 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; } |
Вывод на экран
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>"; ?> |
вывод на экран

Функция 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 читает файл принимает адрес файла и возвращает его содержимое в виде строки
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 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]
коментарий
http://audioroller.ru/
http://www.youtube.com/watch?v=08wl3_Yi_5o