Tag: 复制

复制内存中的函数并执行它

我想知道在C中如何将一个函数的内容复制到memroy并执行它? 我正在尝试做这样的事情: typedef void(*FUN)(int *); char * myNewFunc; char *allocExecutablePages (int pages) { template = (char *) valloc (getpagesize () * pages); if (mprotect (template, getpagesize (), PROT_READ|PROT_EXEC|PROT_WRITE) == -1) { perror (“mprotect”); } } void f1 (int *v) { *v = 10; } // allocate enough spcae but how much ?? myNewFunc = allocExecutablePages(…) […]

在我的情况下strncpy或strlcpy

当我想将src_str复制到dst_arr时,我应该使用什么?为什么? char dst_arr[10]; char *src_str = “hello”; PS:在阅读了很多关于strncpy和strlcpy 好坏的事情之后,我的头比我的电脑磁盘旋转得更快。 注意:我知道strlcpy无处不在。 这不是问题所在。

复制二进制文件的内容

我正在设计一个图像解码器,作为第一步,我试图复制使用cie打开文件,并将其内容写入新文件。 下面是我使用的代码。 while((c=getc(fp))!=EOF) fprintf(fp1,”%c”,c); 其中fp是源文件,fp1是目标文件。 程序执行时没有任何错误,但图像文件(“.bmp”)未正确复制。 我观察到复制文件的大小较小,只有20%的图像可见,其他都是黑色。 当我尝试使用简单的文本文件时,副本已完成。 你知道问题是什么吗?