Merhaba,
Aslında aşağıdaki kodun 2 durumu arasındaki farkın nedenini biliyorum! Ama emin olamadığım için sormalıyım; standart çıktı nereye yazar? Neden afallar, sapıtır? Eğer writeln() kullanmak istemiyorsam...
/* whereTowrite.d
* 05.07.2021
*
* This is a problem?
*/
import std.array, std.stdio;
void main (string[] ARGS)
{
string DOSYA = "whereTowrite.d";/* [ ToggleMark ]
if(!(ARGS.length >= 2)) {
"LUTFEN BOYLE KULLANIN:
whereTowrite birmetin.txt > dfile.txt".writeln;
} else { string DOSYA = ARGS[1];//*/
auto satirlaraBol = File (DOSYA)
.byLineCopy
.array;
uint satirSay;
foreach(satir; satirlaraBol) {
satir.write;
satirSay++;
}
satirSay.writeln;
}
//ÇIKTISI:
// 28 satirSay.writeln;atirlaraBol) {A)ile.txt".writeln;
AÇIKLAMA: Lütfen önce bu haliyle derleyin ve satir.write'ın satır sonu karakteri görmediği için (en azından Windows'da böyle!) ekrana yazan kodlar düzgün olmayacak ama ToggleMark'ı kaparsanız altındaki kodlar (bir de en sona if'in kapamasını ekleyin) açılır ve parametre ile tam çalışan bir programınız olur. Çünkü ekrana bozuk yansıyan görüntü dosyaya doğru bir şekilde kayıt oluyor!
Başarılar...