Po prostu uczę się D. Wygląda jak świetny język, ale nie mogę znaleźć żadnych informacji o funkcjach I/O pliku. Być może jestem przygnębiony (jestem w tym dobry!), Więc czy ktoś mógłby wskazać mi właściwy kierunek, proszę? DziękiPlik D funkcje wejścia/wyjścia
Odpowiedz
Co z modułem ?
Zasadniczo używasz the File
structure z std.stdio
.
import std.stdio;
void writeTest() {
auto f = File("1.txt", "w"); // create a file for writing,
scope(exit) f.close(); // and close the file when we're done.
// (optional)
f.writeln("foo"); // write 2 lines of text to it.
f.writeln("bar");
}
void readTest() {
auto f = File("1.txt"); // open file for reading,
scope(exit) f.close(); // and close the file when we're done.
// (optional)
foreach (str; f.byLine) // read every line in the file,
writeln(":: ", str); // and print it out.
}
void main() {
writeTest();
readTest();
}
Do rzeczy związane konkretnie do plików (atrybuty pliku, odczyt/zapis pliku w jednym zamachem), spojrzeć w std.file
. Dla rzeczy, które generalizują standardowe strumienie (stdin, stdout, stderr), spójrz na std.stdio
. Można użyć std.stdio.File
zarówno dla plików na dysku fizycznym, jak i dla strumieni standardowych. Nie używaj std.stream
, ponieważ jest to zaplanowane na wycofanie i nie działa z zakresami (odpowiednik D dla iteratorów).
Osobiście uważam, że pliki we/wy typu C są korzystne. Uważam, że jest to jedno z najbardziej przejrzystych w użyciu I/O, szczególnie jeśli pracujesz z plikami binarnymi. Nawet w C++ nie używam streamów, poza dodatkowym bezpieczeństwem jest po prostu niezgrabny (tak jak wolę printf nad strumieniami, świetnie jak D ma bezpieczny printf!).
- 1. Pobierz plik w D
- 2. odczytać plik z tablicy linii w d
- 3. Przeciążone funkcje w C++ DLL plik DEF
- 4. spraw, aby plik NLog.config wczytał plik z (d: \ dev) zamiast "\ bin \ debug \"
- 5. Czy istnieje sposób na zapewnienie, że funkcje członkowskie są wirtualne w D?
- 6. W języku java -D co oznacza skrót D?
- 7. Dodawanie macierzy 1-D do macierzy 3-D w Numpy
- 8. D-Bus: czy istnieje coś takiego jak "sniffer D-Bus"?
- 9. różnica między funkcją (d) i funkcją (d, i)?
- 10. Różnica między Ctrl K + D i E Ctrl + D
- 11. Różnica między "\\ d +" i "\\ d ++" w java regex
- 12. Co to jest (\ d +)/(\ d +) w wyrażeniu regularnym?
- 13. Jak połączyć z bibliotekami D w programie D
- 14. Vim Janus <D-F><D-/>
- 15. D kompilator (Digital Mars D Compiler) rzuca błąd
- 16. Funkcje połączeń z re.sub
- 17. Dlaczego warto korzystać z @property w D?
- 18. nieskończone datastructures D
- 19. Kiedy usunąć w D?
- 20. D Proces kompilacji
- 21. Porównanie czasu w D
- 22. QueryPerformanceCounter w D?
- 23. stronicowanie pamięci z D
- 24. odpowiednik remove_if w D
- 25. D programowanie niekompletnego kompilatora
- 26. tablice Odcinanie 2D D
- 27. D runtime jako DLL
- 28. Którego kompilatora D użyć?
- 29. d == 9000000000000000000d nieskończona pętla
- 30. F # Funkcje a wartości
@Kenya: "Uczenie się" oznacza dla mnie wersję "zalecaną dla nowych projektów" dla mnie, tzn. 2. – Joey