Re: SetDirectory with mathlink
- To: mathgroup at smc.vnet.net
- Subject: [mg15108] Re: SetDirectory with mathlink
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Sat, 12 Dec 1998 03:59:09 -0500
- Organization: Universitaet Leipzig
- References: <74o0t9$497@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Witold, the first and most portable version is to use the $PathnameSeparator variable. So You can write MLPutFunction(link,"SetDirectory",1); MLPutFunction(link,StringJoin,3); MLPutByteString(link,"C:"); MLPutSymbol(link,"$PathnameSeparator"); MLPutByteString(link,"Programme"); The second version uses MLEvaluateString() and looks like MLEvaluateString(link,"SetDirectory[\"C:\"<>$PathnameSeparator<>\"Programme\"]"); It is not clear why you use the old (undocumented) EnterTextPacket[] function. Hope that helps Jens wgrebe wrote: > > Hallo, > I have the following problem: > I write a program in C and use Mathematica via MathLink. I try to send > the command 'SetDirectory["C:\\Programme"]' to Mathematica via an > EnterTextPacket. I think the problem are the quotation marks. Of course > when I type in > > MLPutString( link, "SetDirectory["C:\\Programme"]"); > > the program cannot be built. So I use the escape sequence ' \ ': > > MLPutFunction( link, "EnterTextPacket", 1); MLPutString( link, > "SetDirectory[\"C:\\Programme\"]"); MLEndPacket( link); > > Unfortunately this doesn't work either. What is wrong? > Thank you > Witold > wgrebe at cityweb.de