无锡制作网站价格表,百度权重批量查询,网站建设新闻发布注意,新闻采集源码wordpress1.
封装一个 File 类#xff0c;用有私有成员
File* fp
实现以下功能
File f 文件名 要求打开该文件
f.write(string str) 要求将str数据写入文件中
string str f.read(int size) 从文件中读取最多size个字节#xff0c;并将读取到的数据返回
析构函数 …1.
封装一个 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 memoryusing namespace std; class File
{
private:FILE* fp;
public:File();File(const string str);~File();void write(const stringstr);string read(const int size);
};File::File()
{fpNULL;
}File::File(const string str)
{const char* bufstr.data();fpfopen(buf,a);
}File::~File()
{if(fp!NULL){fclose(fp);}
}void File::write(const string str)
{const char* bufstr.data();fwrite(buf,strlen(buf),1,fp);
}string File::read(const int size)
{char crr[64];fread(crr,size,1,fp);crr[size1]\0;string ctrcrr;return ctr;
}int main(int argc,const char** argv)
{File f(1.text);f.write(abc);string retf.read(3);coutretendl;return 0;
}2.封装一个 Mutex 互斥锁类
要求
构造函数初始化互斥锁并选择互斥锁的种类
lock 上锁互斥锁
unlock 解锁互斥锁
析构函数销毁互斥锁
并且开启一个线程测试该互斥锁
#include iostream
#include cstring
#include cstdlib
#include unistd.h
#include sstream
#include vector
#include memoryusing namespace std; class Mutex
{
private:pthread_mutex_t m;
public:Mutex();Mutex(char* kind);~Mutex();void lock();void unlock();
};
Mutex::Mutex()
{pthread_mutex_init(m,NULL);
}
Mutex::Mutex(char* kind)
{string stkind;pthread_mutexattr_t attr;pthread_mutexattr_init(attr);pthread_mutexattr_settype(attr,st);
}
void Mutex::lock()
{pthread_mutex_lock(m);
}
void Mutex::unlock()
{pthread_mutex_unlock(m);
}
Mutex::~Mutex()
{pthread_mutex_destroy(m);
}
int a0;
Mutex mut(PTHREAD_MUTEX_FAST_NP);
void *thread_main(void* arg)
{while(1){mut.lock();a100;mut.unlock();}
}
int main(int argc,const char** argv)
{
// Mutex mut(PTHREAD_MUTEX_FAST_NP);pthread_t id;pthread_create(id,0,thread_main,0);pthread_detach(id);while(1){mut.lock();a999;mut.unlock();}return 0;
}