代码:
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
void doubleArray(int vect[], int *dim)
{
int n = *dim *2;
*dim = n;
vect = (int*)realloc(vect, n*sizeof(int));
}
void stampaArray(int vect[], int dim)
{
for (int i=0;i<dim;i++)
{
printf("%d ",vect[i]);
}
printf("\n");
}
int main()
{
printf("Insert a number between 1 and 4: ");
int n;
scanf("%d",&n);
if ((n<1)||(n>4))
{
printf("Number not valid, try again: '");
scanf("%d",&n);
}
int *arr = (int*) malloc (n*sizeof(int));
srand(time(NULL));
int num;
for (int i=0;i<220;i++)
{
num = rand();
if (i==n)
{
doubleArray(arr, &n);
stampaArray(arr, n);
}
arr[i]=num;
}
stampaArray(arr,n);
return 0;
}
日志:
Error: File Copy Operation: FATAL: Expecting Ant GLOB pattern, but saw 'D:/Test/ABC.pdf'
文件复制操作中是否不允许绝对路径?
我读了一个链接,上面写着,如果我在通话上方放置一个目录,它就可以工作。但这对我的要求而言并不理想。我正在尝试通过读取配置文件来循环执行文件/文件夹操作。
有人请帮忙吗?
答案 0 :(得分:0)
您可以使用反斜杠编写Windows路径,但是必须转义它们。
编辑:的确,您不能在includes
参数中输入绝对路径。
def srcFileName = new File(fullSrcFilePath).name
def escapedSrcFolder = new File(fullSrcFilePath).getParent().replace('/', '\\\\')
def escapedDestFolderPath = destFolderPath.replace('/', '\\\\')
dir(escapedSrcFolder) {
fileOperations([
fileCopyOperation(
flattenFiles: true,
includes: srcFileName,
targetLocation: escapedDestFolderPath
)
])
}
编辑#2::如果从SCM获得管道,则不能使用File
方法,因此对于这些情况,可以使用以下正则表达式:
def String getParent(String path) {
path.replace('/', '\\') - ~/\\[^\\]+$/
}
def String getFileName(String path) {
(path.replace('/', '\\') =~ /[^\\]+$/)[0]
}