| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1422 人关注过本帖
标题:请教C语言如何创建系统环境变量或在OS环境下调用C语言中的变量
只看楼主 加入收藏
lxdiyi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
请教C语言如何创建系统环境变量或在OS环境下调用C语言中的变量
比如:
   char temp[5];
   scanf("%s",temp);
我随意输入输入一组字符: abcde 或者dfghg ;
然后在DOS系统中可以调用temp这个变量,里面存储的是我刚刚输入的字符。
搜索更多相关主题的帖子: 如何 C语言 
2014-03-24 22:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
当你把.c弄成.exe时  就不存在变量这个概念了
咋调  为什么要调

DO IT YOURSELF !
2014-03-24 22:56
lxdiyi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-27
收藏
得分:0 
我想把输入的字符串(每次输入都不一样),作为另外一个程式的参数:
所以觉得把这个变量(在C语言中),变成OS的环境变量最好了。
我最初是想用这种方法:
        char Code[5];
    printf("Please Input Code:");
    scanf("%s",Code);

      {
       printf(" set temp = %s\n",SNCode);
          }
但不行,因为set这个命令是一次性的,命令行关闭后就不起作用了,
无法在批处理中把temp做为存有字符串的变量使用。
请教还有别的方法吗?
2014-03-24 23:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
稀奇古怪的念頭。要給某個程序運行時參數,在啟動這個程序時用命令行參數直接啟動就是了,犯不著要在另外一個程序輸入了再轉過去,因爲在命令行就是可以輸入的!何況要傳遞參數,也未必要用系統環境變量,用文件也可以,此路不懂走,走自己懂的路,不是非走這條路不可。

授人以渔,不授人以鱼。
2014-03-24 23:34
lxdiyi
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-27
收藏
得分:0 
以下是引用TonyDeng在2014-3-24 23:34:59的发言:

稀奇古怪的念頭。要給某個程序運行時參數,在啟動這個程序時用命令行參數直接啟動就是了,犯不著要在另外一個程序輸入了再轉過去,因爲在命令行就是可以輸入的!何況要傳遞參數,也未必要用系統環境變量,用文件也可以,此路不懂走,走自己懂的路,不是非走這條路不可。


感谢指点,其实我也在摸索使用文件的方法。可能我叙述的不是很明白:
同事给的程序是固定的: XXDOS.EXE  /BS  temp  其中temp就是一个字符串参数。且每一个牌子用的temp参数都不一样
可以手动输入:XXDOS.EXE /BS QGGDGFHDJDJJ12232    完成这个程式刷新功能,
但太浪费时间,我觉得可以制成条码用扫描枪,把这个字符串参数弄成一个变量:
每次扫描别的卡片,每次也能刷新。
不管用哪种方法,关键是怎么使用C语言把扫描枪每次扫描出来的代码,生成一个
DOS系统可识别的变量?在刷新时,只要加变量就可以了,不用每次都输入。
2014-03-24 23:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
方法有許多:
1.在你自己寫的程序內部用system()直接啟動XXDOS.EXE,在system()參數把整個命令行字符串寫好,這個你會。
2.在你自己寫的程序中,輸出一個文本文件abc.txt,每行的字符串如"/BS QGGDGFHDJDJJ12232",用XXDOS < abc.txt。
3.在你自己寫的程序中,輸出一個文本文件go.bat,每一行是一條具體啟動XXDOS的指令,執行這個批處理文件,讓系統運行多次XXDOS程序,每次都有不同的參數。
4.在你自己寫的程序中,用system()創建一個系統環境變量給對方使用(前提是你必須在同一個cmd窗口中做這一切,DOS下你存在這個問題,但Windows的cmd窗口會自動關閉所以有問題)。

[ 本帖最后由 TonyDeng 于 2014-3-25 00:11 编辑 ]

授人以渔,不授人以鱼。
2014-03-25 00:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
当你把.c弄成.exe时  就不存在变量这个概念了
咋调  为什么要调

DO IT YOURSELF !
2014-03-25 07:40
xkwy0000
Rank: 6Rank: 6
等 级:贵宾
威 望:11
帖 子:107
专家分:441
注 册:2013-2-8
收藏
得分:7 
就这件事,在dos下很简单,只要熟悉dos中断,关于文件的打开,加载就可以了
会使用汇编,编写一个短小的程序,分别加载要通信的程序,使用变量在程序
之间通信。  但是要扩展其他的功能还是有许多要做的,很显然,在这个小程序
之下,不能继承dos的其他功能,你需要不断增加这个小程序的其他功能,不然
的话,你就需要不断的退出小程序,进入dos完成一些事情,然后在进入小程序。
 
2014-03-25 09:01
快速回复:请教C语言如何创建系统环境变量或在OS环境下调用C语言中的变量
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018220 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved