|
|||||||
Потоки, флаги, Функции для валидации, Маска валидации, Файловый ввод\вывод, режимы открытия файлов, Размер файла
Время создания: 18.06.2020 22:08
Раздел: C++ - Примеры кода - Работа на уроке
Запись: Shut913/Tetra-notes-Programming/master/base/15925073210n4gk8ddz6/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
#include <iostream> #include <string> #include <cctype> #include <fstream> // == Состояние потока // Flags: goodbit badbit eofbit failbit // Methods: good() bad() eof() fail() clear() clear(state) rdstate() setstate(state) //void main() //{ // std::cout << "Enter your age: "; // int age; // std::cin >> age; // std::cout << std::cin.fail(); //} // Ф-ци для валидации // isalphanum(int) // isalpha(int) // iscntrl(int) // isdigit(int) // isgraph(int) // любой выводимый символ кроме пробела // isprint(int) // любой выводимый символ включая пробел // isspace(int) // isxdigit(int) // является 16-ричным числом //int main() //{ // std::string name; // // while (true) // { // std::cout << "Enter your name: "; // std::getline(std::cin, name); // // bool rejected = false; // // for (unsigned int i = 0; i < name.length() && !rejected; ++i) // { // if (std::isalpha(name[i])) // continue; // // if (name[i] == ' ') // continue; // // rejected = true; // } // // if (!rejected) // break; // } // // std::cout << name; //} // --------------- //bool maskValidation(std::string input, std::string mask) //{ // if (input.length() != mask.length()) // return false; // // for (unsigned int i = 0; i < mask.length(); ++i) // { // switch (mask[i]) // { // case '#': // number // if (!std::isdigit(input[i])) // return false; // break; // // case '_': // space // if (!std::isspace(input[i])) // return false; // break; // // case '@': // alpha // if (!std::isalpha(input[i])) // return false; // break; // // case '?': // someone // break; // // default: // if (input[i] != mask[i]) // return false; // } // } // // return true; //} // //int main() //{ // std::string phone; // // while (true) // { // std::cout << "Enter your phone number (###) ###-#### : "; // std::getline(std::cin, phone); // // if (maskValidation(phone, "(###) ###-####")) // break; // } // // std::cout << "Your phone is " << phone; // // return 0; //} // --------------- //int main() //{ // int age; // // while (true) // { // std::cout << "Enter your age: "; // std::cin >> age; // // if (std::cin.fail()) // { // std::cin.clear(); // std::cin.ignore(32767, '\n'); // continue; // } // // std::cin.ignore(32767, '\n'); // if (std::cin.gcount() > 1) // continue; // // if (age <= 0 || age > 150) // continue; // // break; // } // // std::cout << "Your age is " << age; // // return 0; //} // == Файловый ввод/вывод (std::ifstream, std::ofstream, std::fstream) // -- ofstream // std::flush() // очистка буфера //void main() //{ // std::ofstream outf("test.txt"); // if (!outf) // { // std::cout << "File error\n"; // exit(1); // } // // outf << "line 1\n"; // outf << "line 2\n"; // outf.put('*'); //} // -- ifstream //void main() //{ // std::ifstream inf("test.txt"); // // if (!inf) // { // std::cout << "File error\n"; // exit(1); // } // // while (inf) // { // std::string input; // std::getline(inf, input); // std::cout << input << "\n"; // } //} // Режимы открытия файлов // Flags: app ate binary in out trunc //void main() //{ // std::ofstream outf("test.txt", std::ios::app); // if (!outf) // { // std::cout << "File error\n"; // exit(1); // } // // outf << "line 3\n"; // outf << "line 4\n"; // outf.close(); // // // // // outf.open("test.txt", std::ios::app); // outf << "line 5\n"; // outf.close(); //} // == Рандомный доступ к файлу // seekg() seekp() tellg() // Flags: beg cur end //inf.seekg(15, std::ios::beg); // Лайфхаки //inf.seekg(0, std::ios::beg); // в начало //inf.seekg(0, std::ios::end); // в конец //int main() //{ // std::ifstream inf("test.txt"); // // if (!inf) // { // std::cout << "File error\n"; // exit(1); // } // // std::string data; // // inf.seekg(3); // std::getline(inf, data); // std::cout << data << "\n"; // // inf.seekg(5, std::ios::cur); // std::getline(inf, data); // std::cout << data << "\n"; // // inf.seekg(-7, std::ios::end); // std::getline(inf, data); // std::cout << data << "\n"; //} // -- размер файла (лайфхак) //void main() //{ // std::ifstream inf("test.txt"); // inf.seekg(0, std::ios::end); // std::cout << inf.tellg(); //} |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|