当前位置: 首页 > news >正文

家具制作网站网络广告联盟

家具制作网站,网络广告联盟,凡科网站建设样品图,网站如何做seo的封装一个 File 类, 用有私有成员 File* fp 实现以下功能 File f "文件名" 要求打开该文件 f.write(string str) 要求将str数据写入文件中 string str f.read(int size) 从文件中读取最多size个字节, 并将读取到的数据返回 析构函数 #…

 封装一个 File 类,

用有私有成员 File* fp

实现以下功能

File f = "文件名" 要求打开该文件

f.write(string str) 要求将str数据写入文件中

string str = f.read(int size) 从文件中读取最多size个字节,

并将读取到的数据返回 析构函数

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>using namespace std;                 class File{
private:FILE* fp;
public:File(const char* p);void write(const char* str);char* read(const int& size);	~File(){fclose(fp);}
};File::File(const char* p)	
{fp=fopen(p,"w+");cout<<p<<"文件打开成功"<<endl;
}void File::write(const char* str)
{if(fp==NULL){cout<<"写入失败"<<endl;}int len=strlen(str);fwrite(str,len,1,fp);cout<<"写入成功"<<endl;
}char* File::read(const int& size)
{if(fp==NULL){cout<<"读取失败"<<endl;}char* p=(char*)malloc(size+1);fseek(fp,SEEK_SET,0);fread(p,size,1,fp);return p;
}int main(int argc,const char** argv){File f="test.txt";cout<<"请输入文件内容"<<endl;char str1[64];cin>>str1;f.write(str1);int size;cout<<"请输入读取多少数据"<<endl;cin>>size;char* p=f.read(size);cout<<p<<endl;free(p);return 0;
}

 

 封装一个 Mutex 互斥锁类 要求:

构造函数:初始化互斥锁,

并选择互斥锁的种类 lock 上锁互斥锁

unlock 解锁互斥锁 析构函数,

销毁互斥锁

并且开启一个线程测试该互斥锁

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>
#include <signal.h>using namespace std;                 class Mutex{
private:pthread_mutex_t m;
public:void init();void lock();void unlock();~Mutex();
};void Mutex::init()
{int i=0;cout<<"请选择互斥锁种类"<<endl;cout<<"1、默认锁"<<endl;cout<<"2、递归锁"<<endl;cout<<"3、错误检查锁"<<endl;cin>>i;switch(i){case 1:{pthread_mutex_init(&m,NULL);break;}case 2:{pthread_mutexattr_t attr;pthread_mutexattr_init(&attr);pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE_NP);pthread_mutex_init(&m,&attr);pthread_mutexattr_destroy(&attr);break;}case 3:{pthread_mutexattr_t attr;pthread_mutexattr_init(&attr);pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_ERRORCHECK_NP);pthread_mutex_init(&m,&attr);pthread_mutexattr_destroy(&attr);break;}}
}void Mutex::lock()
{pthread_mutex_lock(&m);
}void Mutex::unlock()
{pthread_mutex_unlock(&m);
}Mutex::~Mutex()
{pthread_mutex_destroy(&m);cout<<"析构成功"<<endl;
}/*-----------------------------------------------*/Mutex mutex1,mutex2;//设置全局的对象int flag=1;void task1()
{while(flag){mutex1.lock();printf("1号在看电视\n");sleep(1);mutex2.unlock();}
}void task2()
{while(flag){mutex2.lock();printf("2号在打游戏\n");sleep(1);mutex1.unlock();}
}void* thread(void* arg)
{task2();return NULL;
}void handler(int signum)
{if(signum==SIGINT){flag=0;}
}int main(int argc,const char** argv){mutex1.init();mutex2.init();mutex2.lock();signal(SIGINT,handler);pthread_t id;pthread_create(&id,0,thread,0);pthread_detach(id);task1();sleep(1);return 0;
}

 

http://www.yidumall.com/news/76470.html

相关文章:

  • wordpress添加cnzz百度seo培训
  • php网站开发实例教程思考题b站引流推广
  • 信用网站建设意义茶叶推广软文
  • h5素材做多的网站汽车网络营销推广方案
  • 目前电商平台排名惠州seo推广公司
  • 云南网站建设公司排行北京seo方法
  • 通州网站建设公司搜索网站的浏览器
  • 用分布式做的网站平台营销策略都有哪些
  • dede微电影网站模板域名购买
  • 杰商网西安网站建设学技术的培训学校
  • 搭建网站赚钱国外引流推广平台
  • 布吉做棋牌网站建设有哪些公司windows优化大师怎么下载
  • 一般淘宝网站做几个月赚钱全能搜
  • 专门做岛屿的网站品牌营销的四大策略
  • 设计素材网站免费大全最新长沙seo服务
  • 网站icp备案北京公司排名seo
  • 青岛专业网站制作团队公司网站设计报价
  • 中英文切换的网站怎么做新闻热点
  • 通过备案号查网站营销模式和营销策略
  • 网站建设原理湖北网站推广
  • html手机网站模板网络优化这个行业怎么样
  • 建设一个征婚网站的程序精准客户资源购买
  • html 学习网站聊城今日头条最新
  • 图片滚动网站模板我们公司想做网络推广
  • 杭州滨江网站制作百度指数官网首页
  • 单页面网站 万网x3百度新闻发布
  • 机关网站建设的请示seo标题优化的心得总结
  • 镇平做网站网站查询入口
  • 优化网站方法深圳推广公司有哪些
  • 北京沙河教做网站的免费找客户软件