Anzeige:
Ergebnis 1 bis 3 von 3

Thema: betr. convertieren von string to long long

  1. #1
    Registrierter Benutzer
    Registriert seit
    18.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    betr. convertieren von string to long long

    betr: string to long long (1)

    hi leute

    habe aus einer mysql_abfrage (c_api) einen string namens Timestamp (14-stellig)
    soviel ich weiss ist der long long int.
    moechte nun diesen string "20050612122230"
    in eine zahl convertieren.
    mein c_buch beschaeftigt sich nur mit string to long mittels

    char **endp;
    mysqlTowerDatas[r].towerTimeStamp = strtoul(row[t],endp,10);
    ergebnis:
    printf("TimeStamp: %ld\n",mysqlTowerDatas[2].towerTimeStamp);
    TimeStamp: 0

    koenntet ihr mir da mal helfen??
    mfg nomad

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.05.2004
    Beiträge
    592
    Wo ist das Problem? Steht in row[t] wirklich der von dir genannte String drin? Vermutlich nicht. Poste doch mal ein komplettes Beispiel, welches den Fehler verdeutlicht, das würde helfen, herauszufinden was nicht läuft.

    Achso, du initialisierst doch *sicherlich* "endp", bevor du strtoul aufrufst, oder?!?

  3. #3
    Registrierter Benutzer
    Registriert seit
    18.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    betr: string to long long (2)

    betr: string to long long (2)
    hi,
    vielen dank fuer deine antwort. also:

    1. in row[t] steht string drinn: 24 20050612122230 52 58 135 1.000 0.100 0.100
    also: 20050612122230 = timestamp

    2. zitat: du initialisierst doch *sicherlich* "endp", bevor du strtoul aufrufst, oder?!?

    == leider nein. hab's gemaess einem c-buch versucht
    gem.buch aufruf: long strtoul(const char *s. char **endp, int base)
    beispiel aus buch:
    char *buf = "2.0e10";
    while (*buf)
    {
    printf("%ld\n"",strtoul(buf,&buf,0); ergebnis: 20000000000
    }

    zuweisung waere doch dann &buf = char **endp oder ??

    mein codeschnipsel muesste dann so aussehen:

    == mysqlTowerDatas[r].towerTimeStamp = strtoul(row[t],&row[t],10);

    hab unterdessen -mysqlTowerDatas[r].towerTimeStamp- von long long auf char *....... gesetzt.
    es wuerde mich aber sehr interessieren wie man aus den string eine zahl konvertiert.

    waere um eine antwort sehr froh
    mfg nomad

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •