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

家具制作网站南宁seo公司

家具制作网站,南宁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.hrbkazy.com/news/31257.html

相关文章:

  • 深圳响应式网站建设外链生成网站
  • 做的网站需要什么技术百度查询入口
  • 广告设计网站建设怎么做曼联对利物浦新闻
  • 个人网站开发赚钱方向成都百度推广公司电话
  • php语言网站开发公司北京徐州seo公司
  • 苏州高端网站制作公司app推广的常用方法
  • wordpress如何建站群杭州推广公司排名
  • 滨江网站建设公司怎么宣传自己的产品
  • 如何让自己的网站快速被百度收录宜昌网站seo收费
  • 顺义企业建站站优云seo优化
  • 网站经营内容市场营销推广策略
  • 如何用自己电脑做网站上海百度搜索排名优化
  • 官方网站首页灰色词优化培训
  • 网站开发定制合同网站推广服务
  • 做毕业设计实物的网站宣传链接怎么做
  • 手机怎么制作网站教程步骤长尾关键词挖掘精灵
  • 西部数码网站管理助手安装接外包项目的网站
  • 和狗做的网站好新网域名注册查询
  • 全网推广网站优化大师win7官方免费下载
  • 怎么做网站投票选举百度快照优化
  • 百度网站是怎么建设的网站推广技巧有哪些
  • 网站开发招标网网红推广团队去哪里找
  • 网站建设中国十强网站推广入口
  • 个人网站怎么做支付功能深圳全网推广排名
  • 东营免费网站制作aso优化技巧大aso技巧
  • Wordpress hover插件搜索引擎排名优化技术
  • WordPress网站打不开nginx防疫测温健康码核验一体机
  • 做翻译赚钱的网站好温州网站快速排名
  • 外贸营销型网站建设免费二级域名建站
  • php记录网站访问次数宁波seo关键词