System函数处理路径有空格问题函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu__jia/article/details/54385692

char SourceCharArray[100];

char TargetCharArray[100];

void CManufactureDlg::SystemTransform(void)
{
int i=0,j=0,k=0,y = 0;
char CharTemp[20][20] = {0};
char Flag[20] = {0};
char Length[20];
for(i=0;i<100;i++) //划分模块
{
if(SourceCharArray[i] == 0)
{
break;
}
if(SourceCharArray[i] == '\\')
{
Length[j] = k;
j++;
k=0;
}
else
{
CharTemp[j][k++] = SourceCharArray[i];
}
}
Length[j] = k;

for(i=0;i<=j;i++) //找空格
{
for(k=0;k<Length[i];k++)
{
if(CharTemp[i][k] == ' ')
{
Flag[i] = 1;
}
}
}


for(i=0;i<=j;i++) //整合
{
if(Flag[i])
{
TargetCharArray[y++] = '\\';
TargetCharArray[y++] = '"';
}
for(k=0;k<Length[i];k++)
{
TargetCharArray[y++] = CharTemp[i][k];
}
if(Flag[i])
{
TargetCharArray[y++] = '\\';
TargetCharArray[y++] = '"';
}
if(i!=j)
{
TargetCharArray[y++] = '\\';
TargetCharArray[y++] = '\\';
}
}

TargetCharArray[y++] = ' ';
TargetCharArray[y++] = '-';
TargetCharArray[y++] = 'f';
TargetCharArray[y++] = ' ';
TargetCharArray[y++] = 'M';
TargetCharArray[y++] = 'y';
TargetCharArray[y++] = 'U';
TargetCharArray[y++] = 'l';
TargetCharArray[y++] = 'i';
TargetCharArray[y++] = 'n';
TargetCharArray[y++] = 'k';
TargetCharArray[y++] = '.';
TargetCharArray[y++] = 'u';
TargetCharArray[y++] = 'v';
TargetCharArray[y++] = 'p';
TargetCharArray[y++] = 'r';
TargetCharArray[y++] = 'o';
TargetCharArray[y++] = 'j';
TargetCharArray[y++] = 'x';
TargetCharArray[y++] = 0;
return;
}

猜你喜欢

转载自blog.csdn.net/yu__jia/article/details/54385692