D - Referencing the Standard Input Stream
- Ryan Michel (7/7) Jun 07 2002 I have written some functions from C++ stdin, cin.get, cin.getline, cin....
- Walter (5/12) Jun 18 2002 C++ functions and libraries are not directly accessible from D. You'll n...
- Ryan Michel (5/23) Jun 18 2002 I used some functions from the "stream.d" module found at DedicateD and ...
- Pavel Minayev (4/6) Jun 18 2002 Just why would you need getline() and get() if they are already there?
- Ryan Michel (13/22) Jun 19 2002 where are they?
- Pavel Minayev (38/38) Jun 19 2002 On Wed=2C 19 Jun 2002 07=3A34=3A51 GMT Ryan Michel =3Cryan=40michel=2Eco...
I have written some functions from C++ stdin, cin.get, cin.getline, cin.ignore but cannot access the standard input stream. I have tried: std.getline(aString, 255, '\n'); stdin.ignore(255, '\n'); Stream::get(aChar); ryan "If at first you don't succeed you must be a programmer"
Jun 07 2002
C++ functions and libraries are not directly accessible from D. You'll need to provide a C wrapper for them. -Walter "Ryan Michel" <ryan michel.com.au> wrote in message news:1103_1023489176 news.digitalmars.com...I have written some functions from C++ stdin, cin.get, cin.getline,cin.ignore but cannot access the standardinput stream. I have tried: std.getline(aString, 255, '\n'); stdin.ignore(255, '\n'); Stream::get(aChar); ryan "If at first you don't succeed you must be a programmer"
Jun 18 2002
I used some functions from the "stream.d" module found at DedicateD and wrote functions that have the same functionality as these C++ functions. ryan "If at first you don't succeed you must be a programmer" On Tue, 18 Jun 2002 00:47:07 -0700, "Walter" <walter digitalmars.com> wrote:C++ functions and libraries are not directly accessible from D. You'll need to provide a C wrapper for them. -Walter "Ryan Michel" <ryan michel.com.au> wrote in message news:1103_1023489176 news.digitalmars.com...I have written some functions from C++ stdin, cin.get, cin.getline,cin.ignore but cannot access the standardinput stream. I have tried: std.getline(aString, 255, '\n'); stdin.ignore(255, '\n'); Stream::get(aChar); ryan "If at first you don't succeed you must be a programmer"
Jun 18 2002
On Tue, 18 Jun 2002 10:32:23 GMT Ryan Michel <ryan michel.com.au> wrote:I used some functions from the "stream.d" module found at DedicateD andwrote functions that have the samefunctionality as these C++ functions.Just why would you need getline() and get() if they are already there? Also, did you make them part of the class?
Jun 18 2002
where are they?
at the moment only input function is scanf() that I know about and my
programming knowledge does not stretch to
C just to C++.
Yes I did make them member functions of Stream that File, memory stream etc.
are derived from.
I can use:
File aFile = new File;
aFile.open("file.txt");
this stream (aFile) can be referenced but how to reference the standard input
stream (ie. from the keyboard)?
Does it have a buffer like the derived streams?
I am only familiar with C++ style ostream & istream classes and overloaded
stream insertion and stream
extraction operators.
ryan
On Tue, 18 Jun 2002 16:09:48 +0400, Pavel Minayev <evilone omen.ru> wrote:
On Tue, 18 Jun 2002 10:32:23 GMT Ryan Michel <ryan michel.com.au> wrote:
I used some functions from the "stream.d" module found at DedicateD and
wrote functions that have the same
functionality as these C++ functions.
Just why would you need getline() and get() if they are already there?
Also, did you make them part of the class?
Jun 19 2002
On Wed=2C 19 Jun 2002 07=3A34=3A51 GMT Ryan Michel
=3Cryan=40michel=2Ecom=2Eau=3E wrote=3A
=3E where are they=3F
=3E at the moment only input function is scanf=28=29 that I know about and my
programming knowledge does not stretch to
=3E C just to C++=2E
Aah! Download the new version from http=3A=2F=2Fint19h=2Etamb=2Eru=2E Or wait
till Walter
includes it into the official distribution =28I hope=29=2E =3D=29
=3E Yes I did make them member functions of Stream that File=2C memory stream
etc=2E
are derived from=2E
=3E
=3E I can use=3A
=3E File aFile =3D new File=3B
=3E aFile=2Eopen=28=22file=2Etxt=22=29=3B
=3E
=3E this stream =28aFile=29 can be referenced but how to reference the standard
input stream =28ie=2E from the keyboard=29=3F
=3E
=3E Does it have a buffer like the derived streams=3F
Standard streams are in fact just files attached to stdin=2C stdout=2C and
strerr=2E
You either need a new version to use them=2C or you have to create them
manually=3A
=09File stdin=2C stdout=2C stderr=3B
=09extern=28Windows=29 HANDLE GetStdHandle=28uint nStdHandle=29=3B
=09static this=28=29
=09{
=09=09stdin =3D new File=28GetStdHandle=28-10=29=29=3B
=09=09stdout =3D new File=28GetStdHandle=28-11=29=29=3B
=09=09stderr =3D new File=28GetStdHandle=28-12=29=29=3B
=09}
In the old version =28present in Phobos=29=2C you could only use the read=28=29
functions
=28which are binary=29=2C or the readLine=28=29 and readString=28=29=2E
However=2C in the new
version
you also get scanf=28=29=2C the main feature of which is that it works with D
strings=3A
=09char=5B=5D s=3B
=09stdin=2Escanf=28=22%=2E*s=22=2C s=29=3B
I'm not aware of any other way to read a string directly into a dynamic
char=5B=5D
array
so far=2E
Jun 19 2002








Pavel Minayev <evilone omen.ru>