如何使用R中的pdf函数保护现有文件不被覆盖

时间:2018-10-29 08:37:28

标签: r

我在R中使用函数#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> void startProcess(int level, int max); void fork_r(int level, int max); int main(int argc, char *argv[]){ int n; if(argc != 2){ printf("Wrong number of arguments"); exit(-1); } n = atoi(argv[1]); if(n <= 0){ printf("Insert positive integer as argument"); exit(EXIT_FAILURE); } fork_r(1, n); //start from level one and go until n return 0; } void fork_r(int level, int max){ if(level > max){ printf("Process: %d \n", getpid()); //if recursion done print pid of leafs return; } if(level % 2 != 0){ startProcess(level, max); exit(0); } else { startProcess(level, max); startProcess(level, max); exit(0); } } void startProcess(int level, int max){ pid_t pid = fork(); if(pid == 0){ fork_r(level + 1, max); } else return; } 保存了很多图像。我的函数确实工作正常,但是我遇到的问题是,如果我不够注意的话,我的某些图像将被覆盖。

当我尝试以相同名称保存在同一文件中时,是否有可能保护创建的pdf文件不被覆盖?

例如:

pdf()

第二个命令会强制出错吗?

1 个答案:

答案 0 :(得分:2)

您可能会检查文件是否已存在,如果脚本试图覆盖它,则会发出警告。您可以尝试这样的事情:

file <- "C:\\users\\documents\\image1.pdf"

    if(!file.exists(file)){
      pdf(file)

    }else{
        warning("File does already exist!")
    }

这是您想要实现的吗?

更进一步,您可以使用else部分使用gsub()和/或paste()之类的文件来创建新文件名,以便保存新文件而不覆盖旧文件。