Visual Studio 2015 nezná getline? – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Visual Studio 2015 nezná getline? – C / C++ – Fórum – Programujte.comVisual Studio 2015 nezná getline? – C / C++ – Fórum – Programujte.com

 

Polda18
~ Anonymní uživatel
8 příspěvků
7. 6. 2017   #1
-
0
-

Zdravím. Mám takový menší problém. Visual Studio nechce přijmout funkci getline, ani jako std::getline(std::cin, ...); ani jako std::cin.getline(...); kde "..." je daný argument pro uložení vstupu...

Tohle je část kódu, který mám:

#include <iostream>
#include <fstream>
#include <string>

int main(int argc, char **argv) {
    // ... code before declarations

    char * ipAddress, filePathName;

    // ... code before snippet

    std::cout << "Enter IP address for connection in this format: 127.0.0.1 > ";
    std::cin.ignore();            // just for sure
    std::cin.getline(ipAddress);
    
    std::cout << "Enter path and file name for a file to be sent > ";
    std::cin.ignore();            // just for sure
    std::cin.getline(filePathName);

    // ... code after snippet
}

Problém je, že ani std::getline(std::cin, ...) ani std::cin.getline(...) nefungují.

Visual Studio mi ani nedovolí program zkompilovat a stále tvrdí toto:

no instance of overloaded function "std::basic_istream<_Elem, _Traits>::getline [with _Elem=char, _Traits=std::char_traits<char>]" matches the argument list

 Přitom podle tohoto by měl být zápis v již uvedeném kusu kódu fungovat. Tak kde se stala chyba?

Nahlásit jako SPAM
IP: 147.32.112.–
gna
~ Anonymní uživatel
1891 příspěvků
8. 6. 2017   #2
-
0
-

Je tam verze se dvěmi a třemi parametry. Ty dáváš jen jeden.

První parametr má být ukazatel na pole znaků, do kterého se má načítat. Ty máš v prvním volání ipAddress, což sice je ukazatel, ale nikam neukazuje. V druhém volání máš filePathName, což je jen znak, ne ukazatel.

Na té stránce je i příklad. 

char name[256];
std::cin.getline (name,256);

Spousta začátečníků řetězcům jako ukazatelům na pole znaků nerozumí. To nevadí, protože je k ničemu nepotřebuješ.

std::string name;
std::getline(std::cin, name);
Nahlásit jako SPAM
IP: 213.211.51.–
Polda18
~ Anonymní uživatel
8 příspěvků
8. 6. 2017   #3
-
0
-

#3 gna
Díky. Zvláštní je ale, že ani string mi to nechce akceptovat - přesně v tomto tvaru. Možná je Visual Studio jen malinko opožděný a nevšiml si změn, ale v žádném případě nechce program zkompilovat :(

Nahlásit jako SPAM
IP: 147.32.31.–
Polda18
~ Anonymní uživatel
8 příspěvků
8. 6. 2017   #4
-
0
-

#4 Polda18
Tak ten string mi to najednou vzalo. Zvláštní, opravdu. Windows mě fakt nepřestanou udivovat. Nejdřív něco nefunguje, pak najednou to samý funguje. Někdy se v té logice Windows ztrácím. Blbý je, že s nimi musíme pracovat :(

I tak díky za pomoc, program už funguje, jak má :)

Nahlásit jako SPAM
IP: 147.32.31.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 104 hostů

Podobná vlákna

C++ (Visual studio 2015) — založil Saltsnake

Visual Studio 2015 help viewer — založil Radek Chalupa

Visual studio — založil Hlavinka

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý