每日一练
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
class MyString{
char* p;
public:
// 调用
char* getName() const{
return p;
}
//修改
void setName(const char* str){
strcpy(p,str);
}
//初始化 一个 字符串
MyString(const char* str){
p=(char*)malloc(100);
strcpy(p,str);
}
//输出
void show(){
cout << p << endl;
}
// copy 重新赋值
void copy(const char* str){
strcpy(p,str);
}
void copy(MyString pptr){
strcpy(p,pptr.getName());
}
//append 追加
void append(const char* str){
strcat(p,str);
}
void append(MyString pptr){
strcat(p,pptr.getName());
}
//compare 比较
bool compare(const char* str){
cout << p << endl;
cout << str << endl;
return strcmp(p,str);
}
bool compare(MyString pptr){
cout << p << endl;
cout << pptr.getName() << endl;
return strcmp(p,pptr.getName());
}
//析构函数 最后 释放
~MyString(){
free(p);
}
};
int main(int argc, const char *argv[])
{
MyString str = "hello";
MyString ptr = "world-ptr";
str.show();
str.copy("world");
str.show();
str.copy(ptr);
str.show();
str.append("huaq");
str.show();
str.append(ptr);
str.show();
str.setName("world-ptr1");
cout <<str.compare("world") << endl;
cout << str.compare(ptr) << endl;
return 0;
}
#include <2503.h>
#include <iostream>
#include <fstream>
using namespace std;
class File{
int fd;
char *p=NULL;
public:
// 初始
File(const char* pwd,int rd)
{
fd = open(pwd,rd);
}
//写入
void wrte(string str){
const char* ptr = str.c_str();
cout << "["<< ptr <<"]" << endl;
write(fd,ptr,sizeof(ptr));
}
//读取
string red(int t){
p = (char*) malloc(100);
lseek(fd,0,SEEK_SET);
size_t st= t;
read(fd,p,st);
cout << "读到:[" << p << "]" << endl;
string m = p;
return m;
}
//结束 关闭
~File(){
close(fd);
if(p!=NULL)
{
free(p);
}
}
};
int main(int argc, const char *argv[])
{
//写入文件
File file("./1.txt", O_WRONLY);
string str = "hello";
file.wrte(str);
//读取文件
File fl("./2.txt",O_RDONLY);
string ptr = fl.red(50);
cout << "ptr = [" << ptr << "]" << endl;
return 0;
}