是在DOS下运行的,我用C编程了一个,MSDOS正常,FREEDOS不正常.我的工作环境刚好要用到freedos,所以来这寻帮忙,没想到高手..没有出
#include <stdio.h>
#include <string.h>
#include <process.h>
char *right(char *dst,char *src, int n);
int main(int argc, char *argv[])
{
if(argv[1]<2 )
{
printf("no argv!\nusage: runbat xxx.bat");
}
else if(strcmp(right(4,argv[1],4),".bat")==0)
{
printf(argv[1]);
system(argv[1]);
exit(0);
}
else
{
printf("usage: runbat xxx.bat");
}
return 0;
}
/*从字符串的右边截取n个字符*/
char *right(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
p += (len-n);
/*从右边第n个字符开始,到0结束,很巧啊*/
while(*(q++) = *(p++));
return dst;
}
[
本帖最后由 zjq20032006 于 2015-1-26 20:27 编辑 ]