× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Erik,

there are 2 possibilities I used for that purpose:
1. STRCPY.
Looks like this (extract from my program):
strcpy(szStr, "CRTDUPOBJ OBJ( ) FROMLIB( ) TOLIB(QTEMP) OBJTYPE(*FILE)") ;
memcpy(&szStr[34], KLIB, 7);
memcpy(&szStr[14], RepFileName, 10) ;
r1 = system(szStr) ;
I just leave empty spaces in the places, that receive values, because this CRTDUPOBJ is used more that once...
2. SPRINTF
sprintf(szStr, "CRTDUPOBJ OBJ(%s) FROMLIB(%s) TOLIB(QTEMP) OBJTYPE(*FILE)", KLIB, RepFileName);
r1 = system(szStr) ;
Here you must be sure, that strings KLIB and RepFileName (in my example) must be zero-terminated, otherwise you are in trouble.
If these strings are not zero-terminated, you must zero terminate them.
Do you need a code example that does that (trims spaces from the right and adds 0x00)?

HTH
Jevgeni.



-----Original Message-----
From:
c400-l-bounces+jevgeni.astanovski=sampopank.ee@xxxxxxxxxxxx
[mailto:c400-l-bounces+jevgeni.astanovski=sampopank.ee@midrang
e.com]On Behalf Of Olsson Erik
Sent: Monday, November 17, 2008 4:02 PM
To: C programming iSeries / AS400
Subject: [C400-L] Neater way of preparing call to system()


I need to issue a CPYF using system() that would look
something like this
from RPG:

cmdstring = 'CPYF FROMFILE(MYLIB/MYFILE) TOFILE+
(FTPLIB/FILEX) FROMMBR(' + %trimr(pmbr) +') +
TOMBR(' + %trimr(pmbr) + ') MBROPT(*REPLACE)
FMTOPT(*NOCHK)';

That is, the command is hard coded except for the member
names, which can be
anywhere between 2 and 10 bytes.
Does anyone have any good suggestions for a C/C++ equivalent?
The best I can
come up with at present includes a lot of inserts and appends
and would take
several lines.

Thanks,
Erik
--
This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.