Problémák hibakeresés egyszerű konzol programot :: Clion

szavazat
9

Igyekszem tanulni az alap C ++, miután egy Java fejlesztő. Ezért úgy döntöttem, hogy Clion egy próbát. Írtam ezt az alap kódot csak a megismerhettem C ++ szintaxis.

#include <iostream>
using namespace std;

int main() {
    string word;

    cout << Enter a word to reverse characters:  << endl;
    getline(cin, word);

    for(int i = word.length(); i != -1; i--) {
        cout << word[i];
    }

    return 0;
}

A kód működik. Ez megfordítja bármilyen szó, amit be. Azt akartam, hogy át lehet lépni, hogy lássa változók, és mit nem, és kipróbálni Clion a debugger.

Saját probléma akkor jelentkezik, mikor jut el

getline(cin, word);

Amikor rálép ezen a vonalon, én meg egy szót, és nyomja meg az Entert. Aztán átlépni. Miután ezt nem történik semmi; minden lépés alatt, a, stb le van tiltva. Nem tudom, hogy továbbra is a hurok, vagy futtassa a maradék kódot.

Én használtam az Eclipse hibakereső sokszor Java fejlesztési probléma nélkül. Bármilyen ötletet hasznos lehet.

TL; DR Hogyan átléphető a C ++ parancssori program alapvető bemeneti és kimeneti használatával Clion?

A kérdést 02/10/2014 02:55
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
2

Nézzük meg a kódot, ha minden rendben van, meg kell adni #include <string>.

Amikor futtatni ezt, lefordítja és befejezi a kimenet.

#include <iostream>
#include <string>

int main() {

    std::string word;

    std::cout << "Enter a word to reverse chars: ";
    std::getline(std::cin, word); //Hello

    for (int i = word.length() - 1; i != -1; i--) {
        //Without - 1 " olleh"
        //With    - 1 "olleh"
        std::cout << word[i];
    }
    std::cout << std::endl;
    system("pause");
    return 0;
}
Válaszolt 12/11/2014 22:28
a forrás felhasználó

szavazat
1

Használd a következő kódot. Módosítottam a kódot, hogy működőképes a célra. :)

#include <iostream>
#include <string>
using namespace std;

int main() {
    string word;

    cout << "Enter a word to reverse characters: " << endl;
    getline(cin, word);

    for(int i = word.length() - 1; i != -1; i--) {
        cout << word[i];
    }

    printf("\n");

    system("pause");

    return 0;
}
Válaszolt 14/11/2014 05:39
a forrás felhasználó

szavazat
11

Már megismételték a probléma - úgy néz ki, hogy nekem, mint amikor a hibakeresés az új sor kerül elnyelte a IDE és nem adják vissza a program. Már benyújtott egy bug JetBrains . Nem értem a módját, hogy megoldja ezt eltekintve kiszállt a IDE és hibakeresés közvetlenül GDB vagy más IDE.


UPDATE : A hiba javítását a Clion EAP építsünk 140.1221.2. Úgy is tett az első változás szerepel a kiadási megjegyzések:

A legértékesebb változások a következők:

  • Debugger ne lógjon be „cin >>” operátor többé.
Válaszolt 14/11/2014 23:40
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more