调用另外一个exe文件时时这样写的char pass[512] = "C:\\My Documents\\Release\\TEST.exe test1 test2" test1和test2是两个参数 我用AfxGetApp()->m_lpCmdLine得到这些参数,但我怎么把它们分割开分别赋给两个变量呢,我刚学c++,望大家能够帮帮我!帖出代码。
解决方案 »
- 关于用vc给网页写一个插件实现划词翻译和即指即译功能
- 求一个用VS2010的VC代码编写的资源管理器的源码
- 如何判断子对话框是否打开
- 单文档下使用 控件的疑问
- 非高手勿入,代理服务器问题!
- 为什么会有“启动时暂停”错误
- float f = 101.1;但是打印出来的是,f=101.099998????????没分了,只有一分分的问了
- 一个关于虚拟内存的问题,求助~~急
- MFC如何让一个函数在一个while(1)循环里有条件的被调用
- 怎样让程序支持多版本的操作系统?
- 请问高手这个是什么意思?能给讲明白点吗?typedef bool(__stdcall CHANGE)(char *,char *);
- DirectX 10 与 DirectX9.0c 的重大改进是什么,对WM支持情况?
CString strtest2;
strtest2=strcmdline.Right(strcmdline.GetCount()-strcmdline.ReverseFind(' ')-1); //得到test2参数
strcmdline=strcmdline.Left(strcmdline.ReverseFind(' '));CString strtest1;
strtest1=strcmdline.Right(strcmdline.GetCount()-strcmdline.ReverseFind(' ')-1); //得到test1参数
也可以用CString 中的left,right,sub等。
Example
/* STRTOK.C: In this program, a loop uses strtok
* to print all the tokens (separated by commas
* or blanks) in the string named "string".
*/#include <string.h>
#include <stdio.h>char string[] = "A string\tof ,,tokens\nand some more tokens";
char seps[] = " ,\t\n";
char *token;void main( void )
{
printf( "%s\n\nTokens:\n", string );
/* Establish string and get the first token: */
token = strtok( string, seps );
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token );
/* Get next token: */
token = strtok( NULL, seps );
}
}Output
A string of ,,tokens
and some more tokensTokens:
A
string
of
tokens
and
some
more
tokens
#include <stdio.h> char string[] = "C:\\My Documents\\Release\\TEST.exe test1 test2";
char seps[] = " :\\. "; //以冒号:、 \\ . 和空格为分格符,在你那里你可以用
char *token; void main( void )
{
token = strtok( string, seps );
while( token != NULL )
{
token = strtok( NULL, seps ); 把分割后的字符串存放在token 数组中
}
}
你还可以用CString 中的left,right,sub等函数参照MSDN
"C:\My Documents\Release\TEST.exe" test1 test2
时,__argc的值是3,__argv[1]是"test1",__argv[2]是"test2"。
LPWSTR *szArglist;
szArglist = CommandLineToArgvW(GetCommandLineW(), &args);
CString params[6];
for(int i = 0; i < args;i++){
params[i] = szArglist[i];
}