Merhabalar. Sorum konu başlığındaki gibi :-) Şimdi aşağıdaki kodu yazdığımda;
import std.stdio;
import std.string;
void main(string[] parametreler)
{
string giriş;
File dosya = File ("Deneme.co", "a+" );
for(;giriş!="q";)
{
write("Bir String giriniz..");
giriş=strip(readln());
if (giriş!="q")
dosya.writeln(giriş);
}
while(!dosya.eof()) {
giriş=strip(dosya.readln());
writeln(giriş);
}
readln();
}
dosyaya yazma kısmında sorun oluşmuyor ancak dosyadan okuyup ekrana basma konusunda sonuç vermiyor. Oysa;
import std.stdio;
import std.string;
void main(string[] parametreler)
{
string giriş;
File dosya = File ("Deneme.co", "a+" );
for(;giriş!="q";)
{
write("Bir String giriniz..");
giriş=strip(readln());
if (giriş!="q")
dosya.writeln(giriş);
}
dosya.close(); // Burayı ekledim...
dosya.open("Deneme.co","r"); // Burayı ekledim..
while(!dosya.eof()) {
giriş=strip(dosya.readln());
writeln(giriş);
}
readln();
}
gibi değiştirip yazdığımızda sonuç verdi !! oysa kitaptan okuduğum kadarıyla "a+" belirtecinin hem okuma hemde yazmaya ayarlı şekilde dosyayı açması gerekmezmiydi ?? neden dosyadan okuma sırasında dosya kapatıp tekrar açmam gerektide sonuç elde edebildim ?
Acaba kitaptaki şu bölüm;
'*Bazen aynı File nesnesinin başka dosyayı veya aynı dosyayı farklı erişim haklarıyla kullanması istenir. Böyle durumlarda dosyanın kapatılıp tekrar açılması gerekir: *'
okuma ve yazma erişimli dosyayı açsak bile okuma ve yazma kısmını ayrı kullanırkende kullanmamızı mı öğütlüyor?
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]