Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [c] domanda su case

  1. #1

    [c] domanda su case

    Ciao a tutti

    voglio scrivere un programmino in c che presi dei comandi in ingresso stampi determinate cose..la mia prima idea era di usare il "case" ma non funziona con stringhe di caratteri..essendo che gli ingressi sono tanti credo sia sconsigliato andare di "if"..avete suggerimenti su come fare?

    grazie mille

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    In che senso non funziona con stringhe di caratteri?

  3. #3
    ho letto che a case non posso passare una stringa come nell'esempietto qua sotto

    codice:
     switch (pippo) {
    			case 'ls':
       				printf("stampa ls");
       				break;
    ho letto male?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    pippo è urray di char?

    ho letto che a case non posso passare una stringa
    dove? l'hai almeno provato?

  5. #5
    il prog completo e` questo:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    #define BUFLEN	120
    
    int
    main(int argc, char **argv)
    {
    char buf[BUFLEN];
    char comando;
    FILE *fin, *fout;
    fout = fopen("/home/musellinan/output.txt", "a+");
    	 if (NULL == fout) {
    	        fputs("Impossibile creare file di output.\n\n", stderr);
    	        fclose(fin);
    	        return 1;
    	    }
    
    	printf("jolly# ");
    	while (fgets(buf, BUFLEN-1, stdin) != NULL) {
    		printf("jolly# ");
    		fputs(buf, fout);
    		switch (buf) {
    			case 'ls':
       				printf("stampa ls");
       				break;
    			default:
    			   	printf("ci stiamo lavorando");
    			   	break;
    			} 
    		}
    	printf("logout \r\n");
    	fclose(fout);
    	exit(0);
    }
    compilando mi da questo errore

    prova.c:24:9: warning: multi-character character constant

    come compilatore uso il gcc da shell di linux

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Certo che non puoi ... devi usare la funzione strcmp con tutte le if che servono ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.