vraxoulis Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 καλησπερα ξερει κανεις πως μπορω να κανω συνενωση μιας συμβολοσειρας(πχ:μηνας) με ενα αριθμο(πχ:5)?
isay Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 Σε ποια γλώσσα; Δηλαδή θες το Sep και το 5 να το κάνεις Sep5;
vraxoulis Δημοσ. 16 Ιανουαρίου 2010 Μέλος Δημοσ. 16 Ιανουαρίου 2010 σε γλωσσα C ---------- Προσθήκη στις 18:31 ---------- Προηγούμενο μήνυμα στις 18:31 ---------- ναι αυτο θελω...
vraxoulis Δημοσ. 16 Ιανουαρίου 2010 Μέλος Δημοσ. 16 Ιανουαρίου 2010 δηλαδη θα ειναι ετσι: strcpy(str1,m);//mera strcpy(str2,m1);//minas strcpy(str3,e);//etoss strncat(str1,str2,str3); puts(str1);
bxenos Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 > unsigned date,etos; char *month; char buffer[64]; ... sprintf(buffer,"%u %s %u",date,month,etos);
isay Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 > unsigned date,etos; char *month; ... sprintf("%u %s %u",date,month,etos); Συνένωση ζήτησε, όχι απλά εκτύπωση.
vraxoulis Δημοσ. 16 Ιανουαρίου 2010 Μέλος Δημοσ. 16 Ιανουαρίου 2010 αυτο που εγραψα παραπανω για τη συνενωση ειναι σωστο?
jstark Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 Έστω οτι η τελική συμβολοσειρά είναι char buffer[MAX_LEN]; και θέλεις να ενώσεις τα string1, int1, τότε μπορείς εύκολα να γράψεις sprintf(buffer, "%s%d", string1, int1); πρέπει όμως να προσέξεις το μέγεθος που θα προκύψει από τις συννενώσεις να μήν είναι μεγαλύτερο από MAX_LEN-1 ώστε να γίνει σωστά η δουλειά.
bxenos Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 Συνένωση ζήτησε, όχι απλά εκτύπωση. η sprintf δεν κάνει "εκτυπωση". Βεβαια στο μηνυμα μου ξέχασα να βάλω την πρώτη παράμετρο (τη buffer που θα γραφτούν τα δεδομένα).
vraxoulis Δημοσ. 16 Ιανουαρίου 2010 Μέλος Δημοσ. 16 Ιανουαρίου 2010 το κανω ετσι αλλα δεν μου εμφανιζει κατι μετα την συνενωση #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); }
bxenos Δημοσ. 16 Ιανουαρίου 2010 Δημοσ. 16 Ιανουαρίου 2010 Δεν είπες στο πρόγραμμα σου να κανει εκτυπωση. Μετα την sprintf (η οποία ετοίμασε τη συμβολοσειρά output) βαλε >puts(output);
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.