Thread overview
cout.flush()'ın D deki karşılığı nedir??
Sep 06, 2009
esatarslan52
Sep 07, 2009
esatarslan52
Sep 16, 2009
quasimodo
September 06, 2009

Başlıkta da belirttiğim gibi cout.flush() ın D deki karşılığı nedir? Ben digitalmarsın sitesinde işime yarar birşey bulamadım :-/

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 06, 2009

dout.flush(), veya daha genel olarak bir akım üzerinde:

import std.stream;

void main()
{
   auto dosya = new File("deneme_dosyası", FileMode.Out);
   dosya.writefln("merhaba dünya");
   dosya.flush();
}

ama File zaten "unbuffered" yani arabelleksiz olduğu için, herhalde zaten gerekmiyordur.

Eğer C++'da cin ve cout'un birbirlerine bağlı olmaları gibi, cin'den okumadan önce cout'un "flush edileceği" garanti olduğu gibi, belki din de dout'a bağlıdır ve din'den okumaya kalkmak zaten dout'u "flush eder." (?)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 07, 2009

Teşekkür ederim.

Dosya işlemlerinden ziyade microsoftun sitesinden bulduğum gotoxy() fonksiyonu için lazım oldu.

void gotoxy(int x,int y)
{
   HANDLE hConsole;
   COORD cursorLoc;
   std::cout.flush();
   cursorLoc.X = x;
   cursorLoc.Y = y;
   hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
   SetConsoleCursorPosition(hConsole, cursorLoc);
}

Bu fonksiyonu cout kısmını değiştirerek D ye aktardığımda cursorLoc.X ve cursorLoc.Y'ye int tipinde değer atamayı kabul etmedi. Bende ubyte a dönüştürerek aktardım.

void gotoxy(int x, int y)
       {
           HANDLE hConsole;
           COORD cursorLoc;
           dout.flush();
           cursorLoc.X = cast(ubyte)x;
           cursorLoc.Y = cast(ubyte)y;
           hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
           SetConsoleCursorPosition(hConsole, cursorLoc);
       }

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 16, 2009

Alıntı (acehreli:1252277517):

>

ama File zaten "unbuffered" yani arabelleksiz olduğu için, herhalde zaten gerekmiyordur.

Ali

Nasıl yani gerçekten unbuffered mı? Çok ilginç.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

September 16, 2009

Ben henüz dosya konusunu tam olarak anlamış değilim. :D

unbuffered olduğunu şu sayfa söylüyor:

http://digitalmars.com/d/2.0/phobos/std_stream.html#File

Ama bir tane File da şurada var:

http://digitalmars.com/d/2.0/phobos/std_stdio.html#File

O sonuncusu C'deki FILE'ın bir sarmasıymış... Herhalde ilki de öyledir ama... :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]