счмчясмчяс

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

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 = Вставить разрыв страницы

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

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

Показать »

//Функция для перевода из 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

Показать »

//функция для перевода из 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

Показать »

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

Показать »

//функция перевода из 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 в транслит

Показать »

#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

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

Показать »

#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

Показать »

#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 на изображение и извлекает из него имя самого изображения

Показать »

#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

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

Показать »

#include <Windows.h>

//функция проверяет существование файла
bool FileExists(LPCTSTR fname)
{
	return ::GetFileAttributes(fname) != DWORD(-1);
}

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

Показать »

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

#include <sstream>
using std::stringstream;

Функции:

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)

Показать »

#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” и декодирует ее в нормальный вид “Кожа Люкс черная”.

Показать »

#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\u044fn";
	cout <<"s= "<<s<<endl;
	jeson_decode(s);
	cout <<"s= "<<s<<endl;

	return 0;
}

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

jeson_decode

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

Показать »

#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 добавленной записи, возможно это пригодится для чего нить.

Показать »

<?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."` (nt";
    $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."` (nt";
    $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 читает данные из папки, принимает путь к директории и возвращает массив файлов из нее. В директории должны быть одни файлы, не должно быть никаких папок.

Показать »

<?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 читает файл принимает адрес файла и возвращает его содержимое в виде строки

Показать »

<?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, принимат урл и возвращает страницу из интернета

Показать »

//создаём функцию
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]

Комментарии:


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

Your email address will not be published. Required fields are marked *