ΑΠΟΡΙΑ ΣΤΗΝ gets(string)

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
ekpnoh
Δημοσιεύσεις: 6
Εγγραφή: 05 Νοέμ 2010 09:50

ΑΠΟΡΙΑ ΣΤΗΝ gets(string)

Δημοσίευση από ekpnoh » 10 Δεκ 2010 23:04

Παιδιά καλησπέρα, θα ήθελα να σας ρωτήσω κάτι σχετικά με την gets(string).
Ενώ μόνη της δουλεύει μια χαρά, στον παρακάτω κώδικα το πρόγραμμα δεν περιμένει για να πάρει το string. Γιατί γίνεται αυτό;

# include <iostream>
# include <cstdio>
using namespace std;
void main(){
char str[80];
char str1[80];
cout<<"Dwse to string:\n";
cin>>str;
cout<<"Dw8hke :"<<str<<"\n";
cout<<"Dwse to string:\n";
gets(str1);
cout<<"Dw8hke :"<<str1<<"\n";

system("pause");
}

Ευχαριστώ

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

ΑΠΟΡΙΑ ΣΤΗΝ gets(string)

Δημοσίευση από virxen75 » 11 Δεκ 2010 00:53

Κώδικας: Επιλογή όλων

# include <iostream>
# include <cstdio>
using namespace std;
int main&#40;&#41;&#123;   // πάντα int η main ποτέ void
    char str&#91;80&#93;;
    char str1&#91;80&#93;;
    cout<<"Dwse to string&#58;\n";
    cin>>str;getchar&#40;&#41;;//πάντα getchar μετά από εντολή cin για να μαζευει τα σκουπίδια
    cout<<"Dw8hke &#58;"<<str<<"\n";
    cout<<"Dwse to string&#58;\n";
    gets&#40;str1&#41;;//προτίμησε την fgets είναι πολύ καλύτερη
    cout<<"Dw8hke &#58;"<<str1<<"\n";
    system&#40;"pause"&#41;;
    return 0;//πάντα επιστροφή ακεραίου
&#125; 

ekpnoh
Δημοσιεύσεις: 6
Εγγραφή: 05 Νοέμ 2010 09:50

ΑΠΟΡΙΑ ΣΤΗΝ gets(string)

Δημοσίευση από ekpnoh » 11 Δεκ 2010 02:38

Ευχαριστώ για τις συμβουλές! Πράγματι το πρόβλημα το έκανε η απουσία της getchar.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες