С++
Работа со строками:
- s.substr(pos, length) — возвращает подстроку из строки s, начиная с номера pos длинной length символов;
- s.empty() — возвращает значение true, если строка s пуста, false — в противном случае;
- s.insert(pos, s1) — вставляет строку s1 в строку s, начиная с позиции pos;
- s.remove(pos, length) — удаляет из строки s подстроку length длинной pos символов;
- s.find(s1, pos) — возвращает номер первого вхождения строки s1 в строку s, поиск начинается с номера pos, параметр pos может отсутствовать , в этом случае поиск идет с начала строки;
- s.findfirst(s1, pos) — возвращает номер первого вхождения любого символа из строки s1 в строку s, поиск начинается с номера pos, который может отсутствовать.
Убрать пробелы из строки:
1 2 3 4 5 6 7 8 9 |
string trim(string ss){ int i=0; string st=""; while(i!=ss.length()-1){ if(ss[i]!=' '){st+=ss[i];}; i++; }; return st; }; |
Ковертация типов:
Из числа в строку:
1 2 3 4 5 6 7 8 9 10 |
string from_int(int number){ stringstream ss; ss << number; return ss.str(); } string from_float(float number){ stringstream ss; ss << number; return ss.str(); } |
Из строки в число: atoi()
Работа с MySQL:
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 |
MYSQL *connectionNOC; MYSQL_RES *result; MYSQL_ROW row; int query_state; connectionNOC = mysql_init(NULL); if(connectionNOC == NULL) { // Если дескриптор не получен - выводим сообщение об ошибке fprintf(stderr, "Error: не могу получить дискриптор соединения с MySQL\n"); exit(1); }; if (!mysql_real_connect(connectionNOC,hostbase,userbase,passbase,namebase,3306,0,0)){ fprintf(stderr, "Error: не могу соедениться с НОС. Пробую работать автономно! %s\n",mysql_error(connectionNOC)); noc=1; }; sql="SELECT lanbshconfig.* FROM lanbshaperservers inner join lanbshconfig on lanbshconfig.idsh=lanbshaperservers.id WHERE lanbshaperservers.sname='servername'"; sql.replace(sql.find("servername"),std::string ("servername").size(),hostname); if (mysql_query(connectionNOC, sql.c_str()) != 0){ fprintf(stderr,"Error: can't execute SQL-query %s\n",mysql_error(connectionNOC)); exit(1); }; result=mysql_store_result(connectionNOC); if(result == NULL) { fprintf(stderr,"Error: can't get the result description \n"); exit(1); }; while ((row = mysql_fetch_row(result)) != NULL){ cfg.agents=row[24]; }; |
Работа с текстовыми файлами
Чтение:
1 2 3 4 |
ofstream F; F.open("/etc/shapercpp.cfg"); F<< cfg.agents;F<< "\n"; F.close(); |
Запись:
1 2 3 4 5 6 7 8 |
ifstream F; F.open("table1.lst"); while (!F.eof()){ F.getline(buff,50); ss=std::string(buff); }; F.close(); F.clear(); |
Продолжение следует..