Emissione di un volume condiviso cluster (CSV)

La procedura per l'emissione di un csv è illustrata nel codice di esempio seguente che usa CONVERT.

Per emettere un file CSV

  1. Creare una variabile di struttura dalla struttura vcb (Verb Control Block) che si applica al verbo da emissione.

    #include <wincsv.h>  
        .  
        .  
    struct convert  conv_block;  
    
    

    Le strutture VCB vengono dichiarate in WINCSV. File H; una di queste strutture è denominata CONVERT.

  2. Cancellare (impostata su zero) le variabili all'interno della struttura .

    memset( conv_block, '\0', sizeof( conv_block ) );  
    
    

    Questa procedura non è necessaria. Tuttavia, consente di eseguire il debug e leggere il contenuto della memoria. Elimina inoltre la possibilità che le versioni future di un verbo siano sensibili ai campi ignorati nella versione corrente.

  3. Assegnare valori alle variabili VCB necessarie.

    conv_block.opcode = SV_CONVERT;  
    conv_block.direction = SV_ASCII_TO_EBCDIC;  
    conv_block.char_set = SV_AE;  
    conv_block.len = sizeof(tpstart_name);  
    conv_block.source = (LPBYTE) tpstart_name;  
    conv_block.target = (LPBYTE) tpstart.tp_name;  
    
    

    I valori SV_CONVERT, SV_ASCII_TO_EBCDIC e SV_AE sono costanti simboliche che rappresentano numeri interi. Queste costanti sono definite in WINCSV. File H.

    La matrice di TPSTART_NAME contiene una stringa ASCII da convertire in EBCDIC e inserita nella matrice di caratteri TPSTART. TP_NAME.

  4. Richiamare il verbo. L'unico parametro è un puntatore all'indirizzo della struttura contenente il VCB per il verbo.

    ACSSVC((LONG) &conv_block);  
    
    

    È anche possibile usare l'istruzione seguente:

    ACSSVC_C((LONG) &conv_block);  
    
    
  5. Usare i valori restituiti dal verbo.

    if( conv_block.primary_rc == SV_OK ) {  
    /* other statements */  
        .  
        .  
        .