PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : in einfachen sourcen schnüstern



silic
19-06-2002, 20:56
Hi folks,

weiss jemand wo ich die sourcen für zB ls echo oder cat etc. finde (in den CDs von SuSE 8.0 pro habe ich nichts gefunden, weil ich nicht weiss unter welchem paketnamen das alles liegt)...ich will nämlich in den sourcen schnüstern um ein wenig allgemeinwissen in c++-programmierung zu lernen...und da will ich klein anfangen...

silic :rolleyes:

tkortkamp
19-06-2002, 21:20
Hi!

Echo findest unter dem Namen sh-utils. Ls ist im Paket fileutils und cat im Paket textutils. Liegt alles auf den GNU-Servern.

Viel Spaß,
Tobias

silic
19-06-2002, 21:25
@Tobias: cool das Du das alles so weisst, vielen Dank !:D

tkortkamp
19-06-2002, 21:32
Danke :D
Manchmal helfen die man-pages. Ganz am Ende stehen die Pakete in denen die Befehle sind.

silic
19-06-2002, 21:58
Hi folks,

die sh-utils sind ja recht nett nur leider alles in c statt c++ :( hätte ich eigentlich ahnen können sollen...)anyway, ich surf jetzt mal n bisserl im web rum nach cpp-beispielen zu suchen. Falls jemand gute beispiele kennt (oder auf der eigenen kiste sogar hat) immer man her damit ! an beispielen lernt man am schnellsten !

gruss silic

tkortkamp
19-06-2002, 22:13
So eine gaaanzzz einfache Version von cat:


#include <iostream>
#include <fstream>

int main(int argc, char **argv)
{
//argv[0] == Programname
//Öffnet die Datei die dem Programm als erstes Argument übergeben wurde.
std::ifstream in(argv[1]);

//Ist die Datei wirklich geöffnet?
if(!in.is_open())
return -1;

//Solange wir nicht am Dateiende sind, lese jedes Zeichen aus der Datei einzeln
//und gib es aus.
while(!in.eof())
{
std::cout << (char)in.get();
}

return 0;
}


Wahrscheinlich gibt es noch elegantere Möglichkeiten.

c ya,
Tobias

silic
19-06-2002, 22:20
@tobias: danke, das konnte ich schon nachvollziehen. hier nochne frage:

#include <iostream> #include <deque>
#include <string>
int main()
{
std::deque<std::string> menge; // Deque-Container für strings // Elemente jeweils vorn einfügen
menge.push_front("oefter");
menge.push_front("immer");
menge.push_front("aber");
menge.push_front("immer");
menge.push_front("nicht"); // alle Elemente jeweils gefolgt von einem Leerzeichen ausgeben

for (unsigned i=0; i<menge.size(); ++i) {
std::cout << menge[i] << ' ';
} // zum Abschluss ein Zeilenende ausgeben
std::cout << std::endl;
} was um alles in der welt ist

std::deque<std::string> menge; ???

silic

tkortkamp
19-06-2002, 22:36
Ich schlag dir vor das du dir mal Thinking in C++ runterlädst (Vorausgesetzt du kannst gut English lesen). In Kapitel 4 des zweiten Volumes findest du eine detailierte Beschreibung der Container der STL.

c ya,
Tobias

PS: Die URL hab ich hier irgendwo schonmal gepostet. Wenn du sie nicht findest mail ich dir die beiden Volumes von Thinking in C++ mal zu.

TheDodger
20-06-2002, 09:43
Thinging in C++ gibt es online und als Buch mittlerweile auch in deutsch ... Allerdings kann ich zu den Unterschieden (übersetzungen haben da immer so einen Nachgeschmack) nicht's sagen.

silic
20-06-2002, 10:02
@ TheDodger:

die deutsche online-Version konnte ich nicht finden. Hast Du die URL ?

silic

tkortkamp
20-06-2002, 10:29
TheDodger meinte das es das Buch bereits in deutsch zu kaufen gibt.
Ne deutsche Onlineversion gibt es AFAIK nicht.

c ya,
Tobias

silic
20-06-2002, 10:46
Original geschrieben von tkortkamp
TheDodger meinte das es das Buch bereits in deutsch zu kaufen gibt.
Ne deutsche Onlineversion gibt es AFAIK nicht.

c ya,
Tobias Was heisst denn "AFAIK" ??

silic

tkortkamp
20-06-2002, 10:52
AFAIK = As Far As I Know
das ist nicht zu verwechseln mit IMHO = In My Humble Opinion (wird leider häufiger vertauscht)

c ya,
Tobias

TheDodger
21-06-2002, 04:32
Original geschrieben von silic
@ TheDodger:
die deutsche online-Version konnte ich nicht finden. Hast Du die URL ?

Tut mir leid ... ich habe meine Aussage auf grund meines priv. Webservers gemacht.
Ich habe mir damals die Sachen da rauf kopiert, also ich sie noch brauchte ...