Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    30

    [C] problemi con la gestione di un comando ping su mysql

    ciao a tutti....
    spiego in breve il mio problema.....

    Sto cercando di controllare da codice C il ritorno di questa chiamata:

    system ("mysqladmin -u mysql --silent ping > temp.txt");

    su file temp.txt mi scrive: "mysqld is alive", ma se provo a leggere da file gestendo il messaggio come stringa, cioè usando il %s, ma in core dump... se invece provo a leggerlo come intero, cioè con %i o %d, mi ritorna sempre '0', che mysql sia avviato oppure no....

    Qualcuno può aiutarmi a risolvere questo piccolo problemino!!!!!!

    Grazie!!!

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    come leggi il file?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    30
    lo apro in lettura con
    tempFile = fopen("temp.txt", "r");

    e lo leggo con
    fscanf(tempFile, "%d", temp);
    e mi ritorna sempre 0

    oppure con
    fscanf(tempFile, "%s", temp);
    e va in core dump

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    e temp come è dichiarato?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    30
    temp lo dichiaro come int se lo leggo con %d, e come char* se lo leggo con %s. in caso di puntatore a char l'ho anche inizializzato e in pratica se provo a stampare a riga di comando cosa contiene mi dà sempre 0 se è int o stringa vuota se è char.

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    sicuro che la fopen non fallisca l'apertura? il file è nella stessa directory dell'eseguibile?

  7. #7
    non capisco cosa vuol dire "va in core dump"?
    Riguardo al problema che ti ritorna 0 quando provi a leggerlo come un intero questo è normale, perchè leggi una stringa come intero

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    30
    sono sicura perchè ci ho messo il controllo dopo la fopen:

    tempFile = fopen("temp.txt", "r");
    if(tempFile == NULL){
    printf("file non aperto\n");
    exit(1);
    }

    quindi mi stamperebbe a video il messaggio ed uscirebbe dall'applicazione. invece l'applicazione prosegue....

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    30
    non capisco cosa vuol dire "va in core dump"?
    quello dipendeva dal fatto che all'inizio non inizializzavo il puntatore a char, ma me ne sono accorta e l'ho risolto!!

    Riguardo al problema che ti ritorna 0 quando provi a leggerlo come un intero questo è normale, perchè leggi una stringa come intero
    il fatto che mi ritorna sempre 0 è perchè proprio il comando ping di mysql ritorna un valore intero, il problema è che è sempre 0 sia che mysql sia attivo sia che non sia stato avviato.
    Se invece provo a leggere dal file la stringa che effettivamente c'è "mysqld is alive" mi ritorna un valore vuoto, e lo so perchè me lo faccio stampare a video!

  10. #10
    a me non sembra che il ping su mysql ritorni un intero

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.