如何重置malloc
时间: 2023-11-27 21:45:41 浏览: 42
根据提供的引用内容,malloc函数是用于在堆区申请一片连续的空间的函数,它的函数原型为void *malloc(size_t size),其中size_t相当于int。如果想要重置malloc,可以使用free函数来释放之前申请的内存空间,然后再重新调用malloc函数来申请新的内存空间。free函数的函数原型为void free(void *ptr),其中ptr是之前申请的内存空间的指针。需要注意的是,在使用free函数释放内存空间之前,必须确保该内存空间已经不再被使用,否则会导致程序出现错误。
相关问题
devname = (char *)malloc(MAX_USB_PORT_TO_MT_LENGTH); 怎么重置devname值为-0
你可以使用以下代码将 `devname` 的值重置为 0:
```
memset(devname, 0, MAX_USB_PORT_TO_MT_LENGTH);
```
如果你想把值重置为 -1,你可以这样做:
```
memset(devname, -1, MAX_USB_PORT_TO_MT_LENGTH);
```
但是需要注意的是,这样做只能在 `devname` 的类型为 `char` 的情况下才有效。如果 `devname` 的类型为其他类型,你需要使用对应类型的重置方法。
修改此代码使其能够完成功能,直接写代码不用解释: void AddWatermark(char* filename) { //添加一个文件的句柄 FILE* fp = fopen(filename, "rb"); //将文件保存一份 FILE* newfp = fopen("jjbwhater.bmp", "wb"); // 水印内容 char watermark[12] = "Hello Word"; // 将水印长度赋给变量 int watermark_length = strlen(watermark); // 申请一块内存,用于存放文件内容 char* buffer = (char*)malloc(sizeof(char) * 1000); while (fread(buffer, 100, 1, fp) != 0) { /* 添加水印内容 */ memcpy(buffer + 100 - watermark_length, watermark, watermark_length); /*将内容写到新文件 */ fwrite(buffer, 100, 1, newfp); /*重置buffer / memset(buffer, 0, 1000); } / 关闭文件,释放内存 */ fclose(fp); fclose(newfp); free(buffer); }
void AddWatermark(char* filename) {
//添加一个文件的句柄
FILE* fp = fopen(filename, "rb");
//将文件保存一份
FILE* newfp = fopen("jjbwhater.bmp", "wb");
// 水印内容
char watermark[12] = "Hello Word";
// 将水印长度赋给变量
int watermark_length = strlen(watermark);
// 申请一块内存,用于存放文件内容
char* buffer = (char*)malloc(sizeof(char) * 1000);
while (fread(buffer, 100, 1, fp) != 0) {
/* 添加水印内容 */
memcpy(buffer + 100 - watermark_length, watermark, watermark_length);
/*将内容写到新文件 */
fwrite(buffer, 100, 1, newfp);
/*重置buffer */
memset(buffer, 0, 1000);
}
/* 关闭文件,释放内存 */
fclose(fp);
fclose(newfp);
free(buffer);
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)