Beginner! How do I do text?
karron at KARRON.MED.NYU.EDU
karron at KARRON.MED.NYU.EDU
Sun Nov 18 03:55:04 AEST 1990
Here is a neat trick to prompt a user for input. You can test for a window
and then decide to popen or putline(), getline(). Or another neat trick is
to popen to a shell script that test for graphics, and does an echo/read
or does a launch. Hack this up to do what you want. Put in an argument for
your prompt and return value (GetInputFromUser(char *prompt,char *response);
This will get you started. Don't be shy to post what works for you.
-----------------cut here and there--------------------------------------------
/*
* Example of how to get a string from the user nicely
* --gavin (gavin at sgi.com, (415)335-1024)
*/
#include <stdio.h>
#include <string.h>
void GetInputFromUser(char *s, int len_s)
{
char launchline[300];
FILE *fp;
sprintf(launchline, "launch -m 'Hello There Boys and Girls' -h echo");
if ((fp = popen(launchline, "r")) != NULL)
{
fgets(s, len_s, fp);
pclose(fp);
/* Strip off trailing newline */
if (s[0] != '\0' && s[strlen(s)-1] == '\n')
{
s[strlen(s)-1] = '\0';
}
}
else s[0] = '\0';
}
#ifdef MAIN
main()
{
char s[100];
while(1)
{
GetInputFromUser(s, 100);
if (s[0] != '\0')
fprintf(stderr, "User entered: %s\n", s);
else
fprintf(stderr, "Nothing entered\n");
}
}
#endif MAIN
------------------don't forget to cut here too---------------------------------
>From: "Michael G. Hart" <hart at blackjack.dt.navy.mil>
>Date: Fri, 16 Nov 1990 10:52:50 EST
>X-Mailer: Mail User's Shell (7.1.1 5/02/90)
>To: info-iris at BRL.MIL
>Subject: Beginner! How do I do text?
>Status: O
>
>Warning!: Beginner question ahead!
>
>I want to have a program pop a window, and have all stdi/o
>go to the new window.
>
>I know I can use the cmov2s() and charstr() functions, but I'd
>like to be a little more portable, and less graphic -
>my initial requirements are for non-graphic programs.
>
>Should I fork a wsh, then kill the parent? Since this will
>only leave the child, will it's stdi/o go to the new wsh?
>
>Am I really missing the boat here?
>
>Please don't tell me RTFM; there are seven of 'em spread out in
>front of me.
>
>
>
+-----------------------------------------------------------------------------+
| karron at nyu.edu (mail alias that will always find me) |
| Dan Karron |
| . . . . . . . . . . . . . . New York University Medical Center |
| 560 First Avenue \ \ Pager <1> (212) 397 9330 |
| New York, New York 10016 \**\ <2> 10896 <3> <your-number-here> |
| (212) 340 5210 \**\__________________________________________ |
| Please Note : Soon to move to dan at karron.med.nyu.edu 128.122.135.3 (Nov 1 )|
+-----------------------------------------------------------------------------+
More information about the Comp.sys.sgi
mailing list