Chiarimenti su formattazione scanf

di Anonimizzato21995 il
3 risposte
Salve a tutti, non riesco a capire la seguente riga di codice
scanf("%" PERSON_FIELD_STRING_SPEC "s", people[i].name); 

dove PERSON_FIELD_STRING_SPEC era stata precedentemente definita come costante nella riga:
   #define PERSON_FIELD_STRING_SPEC "29"

Si tratta di un programma che lavora tramite una struttura dati nella quale vengono inseriti i nomi e i cognomi delle persone. Credo si tratti di una formattazione di scanf ma non riesco a capirla. Qualcuno può aiutarmi?

3 Risposte

  • E' una funzionalita' del compilatore: una stringa costante la puoi scrivere come

    "sono una stringa costante"

    oppure come

    "sono " "una " "stringa " "costante"

    Il compilatore si occupa di fare la concatenazione

    Nel tuo caso, l'ambaradan corrisponde a "%29s", scritto come "%" "29" "s"
  • Perfetto, grazie mille ad entrambi
Devi accedere o registrarti per scrivere nel forum
3 risposte