Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C]Warning multi-character character constant

    #include <stdio.h>
    #include <stdlib.h>

    int main(){
    int i=0;
    unsigned int a;
    unsigned int b;
    unsigned char v[86];
    FILE *pfile;
    pfile=fopen("byte.txt","r");
    while(!feof(pfile)&&(i<86)){
    fscanf (pfile, "%08X", &a);
    v[i]=a;
    printf("%02x\n",v[i]);
    i++;
    int fclose (FILE *pfile);
    }
    if (v[0] == 0x66){
    b=v[1]&240;
    printf("%x",b);
    switch(b) {
    case '0x40':
    printf("op1\n");
    break;
    case '0xf0':
    printf("op2\n");
    break;
    case '0xb0':
    printf("op3\n");
    break;
    case '0x30':
    printf("op4\n");
    break;
    }}
    system ("pause");
    }

    Questo prog mette dati da un file ad un vettore, mi da la suddetta warning sulle condizioni dello switch e il programma non fa niente a parte stampare il vettore... cosa devo fare?

  2. #2
    usa i tag code (#) per postare del codice...
    case '0x40': è errato, devi fare case 0x40 e non '0x40' perchè '0x40' non è un carattere ma una stringa e tu la vuoi "intendere" come numero credo (idem per tutti gli altri case)...
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
       int i=0;
       unsigned int a;
       unsigned int b;
       unsigned char v[86];
       FILE *pfile;
       pfile=fopen("byte.txt","r");
       while(!feof(pfile)&&(i<86)){
       fscanf (pfile, "%08X", &a);
       v[i]=a;
       printf("%02x\n",v[i]);
       i++;
       int fclose (FILE *pfile);
       }
       if (v[0] == 0x66){
       b=v[1]&240;
       printf("%x",b);
       switch(b) {
       case 0x40:
       printf("op1\n");
       break;
       case 0xf0:
       printf("op2\n");
       break;
       case 0xb0:
       printf("op3\n");
       break;
       case 0x30:
       printf("op4\n");
       break;
    }}
    system ("pause");
    Experience is what you get when you don’t get what you want

  3. #3
    codice:
    !!!!!!!!!!
    grazie mille scuse per l'errore...

  4. #4
    figurati
    Experience is what you get when you don’t get what you want

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.