Ai
1 Star 1 Fork 0

kaxia-xia/http文件服务器

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
mstring.c 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
forestrabbit 提交于 2023-07-30 20:59 +08:00 . 实现通过http获取文件的功能
#include <stdlib.h>
#include "mstring.h"
MString newString()
{
MString ans;
ans.ptr = 0;
ans.size = 32;
ans.data = (char*)malloc(sizeof(char) * ans.size);
ans.data[0] = 0;
return ans;
}
void freeString(const MString mstring)
{
free(mstring.data);
}
void addChar(MString* mstring, const char ch)
{
if (mstring->ptr == mstring->size - 1)
{
mstring->size <<= 1;
mstring->data = realloc(mstring->data, mstring->size);
}
mstring->data[mstring->ptr++] = ch;
mstring->data[mstring->ptr] = 0;
}
void addRawString(MString* mstring, const char* str)
{
for (int i = 0; str[i] != 0; i++)
{
addChar(mstring, str[i]);
}
}
void addMString(MString* mstring, const MString other)
{
for (int i = 0; i < other.ptr; i++)
{
addChar(mstring, other.data[i]);
}
}
MString numToMStr(unsigned long long num)
{
MString ans = newString();
while (num != 0)
{
addChar(&ans, num % 10 + 0x30);
num /= 10;
}
for (int i = 0; i < ans.ptr / 2; i++)
{
char temp = ans.data[i];
ans.data[i] = ans.data[ans.ptr - 1 - i];
ans.data[ans.ptr - 1 - i] = temp;
}
return ans;
}
MString copyString(const MString mstring)
{
MString ans;
ans.ptr = mstring.ptr;
ans.size = mstring.size;
ans.data = (char*)malloc(sizeof(char) * ans.size);
for (int i = 0; i < ans.ptr; i++)
{
ans.data[i] = mstring.data[i];
}
return ans;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/kaxia-xia/http-file-server.git
git@gitee.com:kaxia-xia/http-file-server.git
kaxia-xia
http-file-server
http文件服务器
main

搜索帮助