Board logo

标题: TC调用DOS命令为什么无效? [打印本页]

作者: kang2008     时间: 2009-1-2 13:39    标题: TC调用DOS命令为什么无效?
在TC下, 调用DOS命令, 如, system("SET vMy=My Ver"), 回到DOS环境里为什么却没有vMy的变量呢? 说明没有设置成功啊
但如果只是 system("SET");就会列出DOS环境下的所有变量,

作者: Sufone     时间: 2009-1-2 18:10
用C的system函数或者BASIC的shell命令建立的都是一个
DOS的副本

作者: HAT     时间: 2009-1-2 21:40
设置成功
没有vMy的变量是因为它的作用域问题

作者: quakelan     时间: 2009-1-5 10:37
在DOS下各个程序都有各自固定的环境设置区域,SHELL命令建立的环境是新COMMAND的环境,并不是你程序的.如果你想修改你程序的环境,必须先设置比较大的环境区域,然后使用DOS中断找到这个区域进行修改,具体什么中断我忘了,你找找吧.

作者: windowsvesta     时间: 2009-1-5 14:55
system函数在TC/BC的编辑环境状态下执行是不会成功的,可以在DOS的命令行环境下执行编译好的EXE程序文件,这时执行是成功的。