主要内容:1.文件操作,2.容器,3.迭代器和下标访问容器数据,4.链表,5.string和int的相互转换,6.验证码,7.影藏输入字符,8.记录程序运行时间
文件操作
#include<fstream>
ifstream ifs("text.txt", ios_base::in);//读文件
int mhh;
if(ifs.is_open())
{
ifs >> mhh;
ifs.close();
cout<< mhh <<endl;
if(remove("text.txt"));//删除文件
}
ofstream ofs("text.txt", ios_base::out | ios_base::app);
//写文件,追加
int mhh = "hello,world";
if(ofs.is_open())
{
ofs << mhh ;
}
fstream file("dect.txt", ios_base::in | ios_base::binary);
//读,二进制方式
fstream file("dect.txt", ios_base::out);//写覆盖
容器
#include<vector>
vector<int> vec_int;
vec_int.push_back(12);
//迭代器
//对容器进行增删操作后,所有的迭代器均失效
vector<int>::iterator iter = vec_int.begin();
for (; iter != vec_int.end();)
{
if (0 != (*iter)%2)
{
//erase删除迭代器指定位置的元素后,
//返回下一个位置的迭代器
iter = vec_int.erase(iter);
}
else
{
iter++;
}
}
//下标
for (int i = 0; i < vec_int.size(); i++)
{
//相当于使用下标,但比下标更安全
//有越界检查
cout << vec_int.at(i) << ' ';
}
cout << '\n';
链表
#include<list>
bool predicate(int data)
{
if(0 != data%2)//删除奇数
{
return true;
}
return false;
}
//打印
void printList(list<int> &l)
{
list<int>::iterator iter = l.begin();
for (; iter != l.end(); iter++)
{
cout << (*iter) << ' ';
}
cout << '\n';
}
int main(void)
{
list<int> int_list;
//尾插
int_list.push_back(11);
//头插
int_list.push_front(33);
//尾删
int_list.pop_back();
//头删
int_list.pop_front();
//迭代器
list<int> :: iterator iter;
iter = int_list.begin();
#if 0
for(;iter != int_list.end();iter++)
{
cout << (*iter) << ' ';
//insert在指定位置插入数据
int_list.insert(iter,(*iter)*10);
}
cout << '\n' << "____________"<< '\n' << '\n';
//打印整个链表
iter = int_list.begin();
for(;iter != int_list.end();iter++)
{
cout << (*iter) << ' ';
}
cout << '\n';
#endif
//删除列表元素
int_list.remove(34);
printList(int_list);
//如果数据满足条件则删除
int_list.remove_if(predicate);
printList(int_list);
//去除重复成员
int_list.unique();
printList(int_list);
//链表翻转
int_list.reverse();
printList(int_list);
//排序,默认从小到大
int_list.sort();
printList(int_list);
string
#include <sstream>
stringstream stream;
stream.str();//清缓存
stream.clear();清标志位
//string转int
string i;
int m;
stream << i;
stream >> m;
//int转string
stream << m;
stream >> i;
验证码函数
//验证码函数
int passmode(void)
{
int a[5] = {0};
int i;
srand(time(NULL));
for(i = 0;i < 3;i++)
a[i] = rand()%100;
printf("\t\t--->验证码: \033[;35m%d+%d+%d=\033[;m \n"
,a[0],a[1],a[2]);
printf("\t\t--->请验证: ");
cin >> a[3];
if((a[0]+a[1]+a[2]) == a[3])
return 1;
else
return -1;
}
//验证码函数循环次数函数
int passmod2()
{
for(int i = 0;i < 3;i++)
{
if(passmode() == -1)
{
printf("\t\t--->\033[40;31m验证码错误\033[;5m\n");
if(i == 2)
break;
}
else
break;
}
}
隐藏输入字符
string pwd;
cout << "\t密 码:";
cout << "\033[8m";
cin >> pwd;
cout << "\033[0m";
记录程序运行时间的函数(不包括延时,等待输入,等其它)(毫秒级转化为秒)
#include<ctime>
int main()
{
clock_t start,finish;
double totaltime;
start=clock();
for (int i = 0; i < 10000000; i++)
{
i++;
}
finish=clock();
totaltime=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<"\n程序运行的时间为"<<totaltime<<"个单位时间!"<<endl;
return 0;
}
int main()
{
clock_t startTime,endTime;
startTime = clock();
for (int i = 0; i < 10000000; i++)
{
i++;
}
endTime = clock();
cout << "Totle Time : " <<(double)(endTime - startTime) /
CLOCKS_PER_SEC << "s" << endl;
return 0;
}
网友评论