c++ заметки на полях
Какая боль! Какая боль! Аргентина-Ямайка 5:0.. Ну или по другому: Ежики кололись, плакали но продолжали есть кактусы. Уродский язык C++, что ни говори. Для элементарных для других языков, операций тут тратишь время. Для одного и того же действия, возможны 500тыщ мильонов решений. Большая чать будет работать только при определенных условиях.. Под катом грабли за пару дней.Замена подстроки в строке:
1 2 |
sql="SELECT lanbshconfig.* FROM lanbshaperservers inner join lanbshconfig on lanbshconfig.idsh=lanbshaperservers.id WHERE lanbshaperservers.sname='servername'"; sql.replace(sql.find("servername"),std::string (hostname).size(),hostname); |
Перевод из char в int
1 |
cfg.maxw=atoi(row[6]); |
Обработка параметров коммандной строки
1 2 3 4 5 6 7 |
for (int i = 0; i < argc; i++) { if (std::string(argv[i])== "-debug"){ printf("-run at debug mode\n"); PutLog(ver); debug=1; }; }; |
Перевод из строки в число
1 2 3 4 5 |
string from_int(int number){ stringstream ss; ss << number; return ss.str(); } |
Запись в файл:
1 2 3 4 5 |
ofstream F2; F2.open("/etc/shapercpp.traf"); F2<< s;F2<< "\n"; F2<< current_time;F2<< "\n"; F2.close(); |
Чтение из файла:
1 2 3 4 5 |
ifstream F1("/etc/shapercpp.traf"); // открыли файл для чтения char buff[50]; F1.getline(buff,50);old_curtfaff=atoi(buff); F1.getline(buff,50);old_current_time=atoi(buff); F1.close(); |