我试图制作一个程序,通过给它一个参数来调用批处理文件。主要错误是我无法将值/字符串传递/发送到批处理文件。当我运行时,它显示字符的名称(或任何名称),但我希望它显示存储在该字符中的字符串。 C程序的源代码是:-
#include <stdio.h>
#include <stdlib.h>
void main(char a)
{
a="hello sir";
system("batch.bat a");
}
批处理文件的代码是:-
@echo off
SET x=
SET x=%x%%1
ECHO %x%
PAUSE
将此文件另存为batch.bat并运行c程序。 输出只显示“a”而不是a的值(“hello Sir”) 我希望它显示“你好先生” 请尽快尝试回答。:-)
最佳答案
尝试类似的事情:
#include <stdio.h>
#include <stdlib.h>
void main(char **arg)
{
char cmd[20]="batch.bat ";
strncat(cmd,argv[1],sizeof(cmd)-strlen(cmd)-1);
system(cmd);
}
关于c - 如何将字符的值传递给c中的另一个.bat文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46351787/