怎样将AnsiString串保存到char *p 指针中 500分(200分)

  • 主题发起人 主题发起人 lxzmm_zy
  • 开始时间 开始时间
L

lxzmm_zy

Unregistered / Unconfirmed
GUEST, unregistred user!
从命令行获得应用程序的运行参数,然后取出参数,用fopen函数打开次参数制定的文件
 
p:pchar;
s:string;
p:=pchar(s);
delphi中是这样的
 
AnsiString Test;
char *p = Test.c_str();
 
var
p:pchar;
base64str:string;
begin
base64Str:='任意赋值';
GetMem(p,Length(base64Str)+1);
StrCopy(p, PChar(base64Str));
end;
 
由String 型转 char*
AnsiString Test;
char *p = Test.c_str();
fopen 可以打开已经存在的文件,传入的参数就我们通常用到的那两个,但是不可以传入其他参数.所以您说的"从命令行获得应用程序的运行参数,然后取出参数,用fopen函数打开次参数制定的文件"难以实现.
不过,您既然可以打开该参数制定的文件,何不通过句柄来取得该文件内容呢??那样可以避免fopen本身的短处啊.

 
AnsiString通过.c_str()就可以转换成char*
AnsiString str="dddd";
char *p=str.c_str();
 
用API:GetCommandLine吧,MSDN里头有(具体名字可能记错了),获取本应用程序的命令行,至于AnString的转换,上头都有了,
 
谢谢参与,人人得分!
 
后退
顶部