Προς το περιεχόμενο

συνενωση συμβολοσειρας με αριθμο


vraxoulis

Προτεινόμενες αναρτήσεις

Δημοσ.

Έστω οτι η τελική συμβολοσειρά είναι

 

char buffer[MAX_LEN];

 

και θέλεις να ενώσεις τα string1, int1, τότε μπορείς εύκολα να γράψεις

 

sprintf(buffer, "%s%d", string1, int1);

 

πρέπει όμως να προσέξεις το μέγεθος που θα προκύψει από τις συννενώσεις να μήν είναι μεγαλύτερο από MAX_LEN-1 ώστε να γίνει σωστά η δουλειά.

Δημοσ.
Συνένωση ζήτησε, όχι απλά εκτύπωση.

 

η sprintf δεν κάνει "εκτυπωση".

Βεβαια στο μηνυμα μου ξέχασα να βάλω την πρώτη παράμετρο (τη buffer που θα γραφτούν τα δεδομένα).

Δημοσ.

το κανω ετσι αλλα δεν μου εμφανιζει κατι μετα την συνενωση

#include<stdio.h>

#include<string.h>

 

 

main()

{

char *minas[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Nov","Oct","Dec"};

char output[12];

int mera,Etos;

char *mina;

char str1[12];

 

 

 

printf("dwse ti mera pou theleis(1-31)\n");

scanf("%d",&mera);

 

while(mera<1 || mera>31)

{

printf("den uparxei tetoia mera-->dwse mia mera pou na einai apo 1 ews 31\n");

scanf("%d",&mera);

}

 

printf("dwse to mina pou theleis(na einai tis morfis:Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sept,Nov,Oct,Dec\n");

gets(mina);

gets(mina);

 

/*while (strcmp (minas,mina)==0)

{

printf("den uparxei tetoios minas-->dwse neo mina tis morfis:Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sept,Nov,Oct,Dec\n");

gets(mina);

gets(mina);

}*/

printf("dwse to etos pou theleis na einai apo 2000-2999\n");

scanf("%d",&Etos);

 

while(Etos<2000 || Etos >2999)

{

printf("lathos etos-->dwse neo etos pou na einai apo 2000-2999\n");

scanf("%d",&Etos);

}

 

 

sprintf(output, "%d %s %d", mera, mina, Etos);

 

}

Δημοσ.

Δεν είπες στο πρόγραμμα σου να κανει εκτυπωση.

Μετα την sprintf (η οποία ετοίμασε τη συμβολοσειρά output)

βαλε

>puts(output);

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...