getline

C/C++

13 svar · 528 visningar · startad av peterbladh

Medlem sedan juni 2000277 inlägg
Trådstart#1

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!

Medlem sedan feb. 20002 300 inlägg
#2

Joho..

Det ska fungera i VC++.
Vilka bibliotek inkluderar du?

Medlem sedan dec. 2000485 inlägg
#3

#include <iostream.h>

cin.getline(variabel, variabelns längd);

Medlem sedan juni 2000277 inlägg
#4

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?

Medlem sedan feb. 20002 300 inlägg
#5

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.

Medlem sedan juni 2000277 inlägg
#6

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.

Medlem sedan nov. 2000362 inlägg
#7

char[n tecken] har samma funktion som string men det finns lite andra kommandon bara ... :)

Medlem sedan nov. 2000362 inlägg
#8

Har inte boken framme men du kan få en liten lista när jag har det en dag framöver ..

Medlem sedan juni 2000277 inlägg
#9

Bra, jag kommer tillbaka och kollar!

Medlem sedan juni 200010 432 inlägg
#10

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 ;) .

Medlem sedan juni 2000277 inlägg
#11

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)?

Medlem sedan juni 200010 432 inlägg
#12

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 ?

Medlem sedan juni 2000277 inlägg
#13

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.

Medlem sedan juni 200010 432 inlägg
#14

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?

261 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)