Hej!
Jag är en grön c++ student som undrar vad man kan använda istället för getline(cin, variabel), för detta fungerar ju inte i Visual C++ 6.0
Hjälp!
13 svar · 528 visningar · startad av peterbladh
Hej!
Jag är en grön c++ student som undrar vad man kan använda istället för getline(cin, variabel), för detta fungerar ju inte i Visual C++ 6.0
Hjälp!
Hej och tack för era svar!
getline(cin,variabel) fungerar, MEN det kräver 2 entertryckningar. Hur kommer man runt det?
tips2:
cin.getline(variabel, längd) får jag absolut inte att fungera.
lite hjälp igen?
Uhmmm...
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
#include <iostream.h>
int main(void)
{
char str[100];
cin.getline(str, 100);
cout << str;
return 0;
}
Fungerar utmärkt.
Jo, det gör det visserligen. MEN inte i kombination med
#include <iostream>
using namespace std;
och än viktigare fungerar det inte med string
#include <string>
string str;
...och string vill jag gärna använda.
char[n tecken] har samma funktion som string men det finns lite andra kommandon bara ...
Har inte boken framme men du kan få en liten lista när jag har det en dag framöver ..
Bra, jag kommer tillbaka och kollar!
Men vad är det du vill att programmet ska göra då, eftersom du prompt ska ha med <string> eller <cstring>? Du kanske kan hitta en bra lösning med hjälp av egna klasser istället .
Det är väl mest att jag är van att använda string från andra programmeringsspråk. Dessutom har string ett gäng färdiga metoder som inte är så dumma...
Är det förresten samma problematik när man jobbar med MFC (och då kanske någon slags textruta för inmatning)?
Själv kör jag med Bc 5.02 men visual c++ har iaf en bugg angående getline(); som implenterats i <iostream>, Men inte i <iostream.h> påstås det. Kan du inte prova med cin.get(str,100) istället ?
Nej, då fick jag det här trevliga felmeddelandet
error C2664: 'class std::basic_istream<char,struct std::char_traits<char> > &__thiscall std::basic_istream<char,struct std::char_traits<char> >::get(char *,int)' : cannot convert parameter 1 from 'class std::basic_stri
ng<char,struct std::char_traits<char>,class std::allocator<char> >' to 'char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.
Ajdå... som sagt så kör jag med borland. Jag vet inte hur din kompilator funkar till 100%...
Men string som sådant är arbetsamt i c och c++ (vektor hantering), iaf när man jobbar från grunderna. Du bör ju ha en referensbok i programmet som kan avslöja hur du ska hantera string, klasser och så. Du kanske behöver avdefiniera något från en av headerfilerna, eller lägga till något annat?