Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Der Code-Schnippsel-Thread
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #71
Der Code-Schnippsel-Thread
Mein erstes C-Programm seit langem sieht etwa so aus. :D
Code:
#include <stdio.h>
#include <stdlib.h> /* nur dem exit() zuliebe :P */

#undef DEBUG /* wenn benötigt define’n */
#define MAX_NAME_LENGTH 30

#ifdef DEBUG
#include <string.h>
#endif

void sorry() {
    fprintf(stderr, "Sorry, ich hab dich nicht verstanden.\n");
    exit(1);
}

int main() {
    char name[MAX_NAME_LENGTH];

    #ifdef DEBUG
    fprintf(stderr, "Der C-String ist an Adresse 0x%.8X zu finden.\n", (int) name);
    #endif

    puts("Gib deinen Namen ein: ");
    if (fgets(name, MAX_NAME_LENGTH, stdin) == NULL) sorry();

    #ifdef DEBUG
    printf("Größe des Strings: %i\n", (int) strlen(name));
    #endif

    /* XXX: Zurückgegebene Newlines durch \0 ersetzen und damit String abschneiden
     * Wie funktioniert so etwas wie chomp() bei Perl elegant unter C? */
    {
        int i = 0;
        while (i < MAX_NAME_LENGTH) {
            if (name[i] == 10) { /* \n */
                name[i] = 0;
                if (i > 0) break; else sorry();
            }
            else if (name[i] == 0) break;
            i++;
        }
    }
    /* Wir haben fertig. */
    printf("Hallo, %s!\n", name);
    return 0;
}

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
09.10.2010 13:13
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #72
Der Code-Schnippsel-Thread
Ein kleiner Parameter-Fetzen für neidische Leute wie niwax:
Code:
sudo nmap -iR 50000 -P0 -p21 -sV -T4

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
17.10.2010 15:25
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
florida Offline
Erfahrener Benutzer

Beiträge: 543
Registriert seit: Feb 2010
Beitrag #73
Der Code-Schnippsel-Thread
Ein einfacher Taschenrechner mit Borland C++.

Code:
// für Summen

TCHAR c1[100];
TCHAR c2[100];
int result;

edit1->GetText(c1, 100);
edit2->GetText(c2, 100);
result = atoi(c1) + atoi(c2);

label1->SetText(itoa(result, "1", 10));

...
19.10.2010 17:35
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #74
Der Code-Schnippsel-Thread
Von oreissig beigesteuertes Beispiel zum Thema „Warum Java doof ist“:
Code:
String testtext = "\\u\\test.txt";
System.out.println(testtext.replaceAll("\\\\u", System.getProperty("user.dir").replaceAll("\\\\", "\\\\\\\\")));
EDIT: Wie aber gandro schreibt, kann man sich eine Verdopplungsstufe der Backslashes mittels Pattern.quote() sparen.

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
(Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2010 19:37 von DosAmp.)
23.10.2010 19:33
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
LukeGee Offline
Misanthrop

Beiträge: 2.021
Registriert seit: Dec 2009
Beitrag #75
Der Code-Schnippsel-Thread
Passt nicht 100% hier rein, aber egal:

Habt ihr schon mal was von bash -u gehört:

[DRBD-user] Drbd resource return 20 (unspecified)


Wird hier erklärt:

Writing Robust Bash Shell Scripts


Nette Sache, kannt ich garnicht.
13.11.2010 11:54
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gandro Offline
Quälgeist

Beiträge: 8.955
Registriert seit: Jul 2008
Beitrag #76
Der Code-Schnippsel-Thread
Hm. Generell toller Artikel. Gleich mal bookmarken und durchlesen.
13.11.2010 12:15
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #77
Der Code-Schnippsel-Thread
Das CGI-Skript auf meinem Server, das Ausgaben für ein Ajax-JS erledigt. Sollte ich in nächster Zeit mal wenigstens auf Perl oder ähnlich portieren, weil die Performance wirklich unterirdisch ist (≈250 ms, wovon allerdings ein Großteil auf boinccmd entfällt). :>
Code:
#!/bin/dash
PARENT=$(ps h -p $PPID -o command)
# wenn wir von nojs.sh aufgerufen werden, wollen wir diesen Header nicht noch mal mitten in der Ausgabe
if test ${PARENT%% /*} != /bin/dash; then
        echo "Content-Type: text/html; charset=UTF-8"
        echo
fi
unset PARENT

echo "<h2>Thermische Informationen</h2>"
echo "<p><em>Anmerkung:</em> <code>fan1</code> bezeichnet den Gehäuse-, <code>fan2</code> den CPU-Lüfter.</p>"
echo -n "<pre>"
sensors | grep -e ^fan[12] -e '^[CM].. ' | tr "+." " ," | sed -e 's/\(.*RPM\)  .*$/\1/'
echo "</pre>"

echo "<h2>BOINC</h2>"
TEMPFILE=$(mktemp)
boinccmd --get_simple_gui_info 2>/dev/null >$TEMPFILE
if test -s $TEMPFILE; then
        LINE=$(grep -nE '^={8} Results' $TEMPFILE | cut -d: -f1); LINE=$((LINE+1))
        tail -n +$LINE $TEMPFILE | grep -e ^[0-9]*\) -e '^\s*report' -e '^\s*ready to report' \
        -e '^\s*current CPU time:' -e '^\s*fraction done:' -e '^\s*estimated CPU time' | \
        sed 's/^\([0-9]\)*).*$/<\/pre>\n<h3>Aufgabe \1<\/h3>\n<pre>/;s/^\s*//' | \
        tail -n +2 # um das <pre></pre> vor der ersten Aufgabe zu unterdrücken
        echo "</pre>"
else
        echo "<p>BOINC läuft gerade nicht.</p>"
fi
rm -f $TEMPFILE
unset TEMPFILE LINE
Ich nehm im Übrigen in diesem Fall (da)sh einerseits aus Performance-Gründen und andererseits, um mal bewusst auf Bashims zu vermeiden und bourne-kompatibel zu bleiben.

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
(Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2010 14:25 von DosAmp.)
13.11.2010 14:19
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
thosch97 Offline
All things have a right to grow

Beiträge: 9.843
Registriert seit: Feb 2010
Beitrag #78
Der Code-Schnippsel-Thread
Würfel v1.5, in kürze auch für den C64:
Code:
PROGRAM:WUERFEL
:Disp "WUERFEL V1.5"
:Disp "Anzahl der","Würfelzahlen?"
:Prompt A
:Disp "Zahlen auf dem","Würfel?"     REM ne bessere formulierung ist mir nicht eingefallen; falls jemand das nicht kapiert nacher sieht mans am Quelltext
:Prompt B
:Lbl A
:ClrHome  REM aka Clear Screen
:Disp randInt(1,B,A),"WEITER: ENTER"
:Repeat K≠0
:getKey➙K
:End
:If K=105:Goto A

PGP-Key E384 009D 3B54 DCD3 21BF 9532 95EE 94A4 3258 3DB1 | S/MIME-Key 0x1A33706DAD44DA
G d-@ s+:- a--- C+++ UB+L++ P--- L++@ E-@>++ W+ N o? K? w>++ !O !M !V PS+++ PE-- Y+>++ PGP++>+++ !t 5? X? !R tv b+++>++++ DI !D G>+ e>+++ h !r>++ !z
„Die Aachener gelten als Erfinder des 4. Hauptsatzes der Thermodynamik: ‚Thermo schreibt man zweimal.“‘
“Saying that Java is good because it works on all platforms is like saying oral sex is good because it works on all sexes.”
„Es gibt 10 Sorten von Leuten: Die einen verstehen das Binärsystem, die anderen nicht.“
„Manche Männer lieben Männer, Manche Frauen eben Frauen; Da gibt's nix zu bedauern und nichts zu staunen; Das ist genau so normal wie Kaugummi kauen; Doch die meisten werden sich das niemals trauen“
(Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2011 17:29 von thosch97.)
13.11.2010 15:15
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
chiaki Offline
Die Pommesfee

Beiträge: 12.554
Registriert seit: Jul 2008
Beitrag #79
Der Code-Schnippsel-Thread
aber bitte mit SID
13.11.2010 15:23
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
DosAmp Offline
Anderes Zeigegerät

Beiträge: 12.219
Registriert seit: Jul 2008
Beitrag #80
Der Code-Schnippsel-Thread
Code:
import urllib, re, sys

DOWNLOAD_PATH="D:\\z0r\\"

def dotter(blockcount, blocksize, totalsize):
    # Dummy-Eventhandler fuer urlretrieve(). Simuliert Gefuehl von Taetigkeit.
    sys.stdout.write(".")

lastloop=None

try:
    nh = urllib.urlopen("http://z0r.de/info")
except URLError:
    sys.stderr.write("Fehler beim Verbindungsaufbau zu z0r.de!\n")
    sys.exit(1)

for stri in nh.readlines():
    if stri.find("Insgesamt gibt es zur Zeit") > -1:
        match = re.search("zur Zeit (\d+) Flashloops", stri)
        if match.lastindex == 1:
            lastloop = int(match.group(1))
nh.close()
if lastloop is None:
    sys.stderr.write("Konnte Anzahl der Flashloops nicht extrahieren!\n")
    sys.exit(2)

for flash in range(lastloop):
    url = "http://z0r.de/L/z0r-de_" + repr(flash) + ".swf"
    fname = DOWNLOAD_PATH + "z0r-" + repr(flash) + ".swf"
    
    sys.stdout.write("Downloading " + fname + " ")
    urllib.urlretrieve(url, fname, dotter)
    sys.stdout.write("\n")

CCITTグループ4またはZIP圧縮のモノクロ300dpiで最高の再現性
(Dieser Beitrag wurde zuletzt bearbeitet: 18.11.2010 23:52 von DosAmp.)
18.11.2010 19:34
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste