Thank you very much for your answers.
But in reply to salva, I seems that perl/swig doesn't understand 'unsigned char *' when I pass a string to my function.
In Perl I wrote this:
$message = 'Hello';
&MyCProgram::CopyString($message);
In my C program I wrote that in order to test simpy test the input (I will need to output something later):
void CopyString(unsigned char *string1) {
FILE *pf;
pf = fopen("test.txt","w+");
fputs(string1,pf);
fclose(pf);
}
And finally we can find this in my interface file:
%apply unsigned char *INPUT { unsigned char *string1 };
extern void CopyString(unsigned char *string1);
When I run my Perl program, I get this error message:
Argument "Hello" isn't numeric in subroutine entry at ./index1.pl line 21.
The problem here is that Perl expects a value and not a string. Ideally I would like to pass only the real address of my string.
Have you got any idea how to solve my problem? Any help is welcomed! Merci beaucoup!
Arnaud
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.