Przenoszenie tekstu wpisanego z palca do tablicy typu char znak po znaku
Ostatnio zmodyfikowano 2015-12-14 15:51
m4dm4x Temat założony przez niniejszego użytkownika  | 
Przenoszenie tekstu wpisanego z palca do tablicy typu char znak po znaku » 2015-12-13 18:58:23 Jak wyżej, wpisujemy jakiś tekst do zmiennej typu char(char napis; cin>>napis;). Jak teraz włożyć ten tekst do tablicy?  | 
 | 
BezPrzewodowy  | 
» 2015-12-13 19:51:09 Nie możesz wpisywać jakiegoś tekstu do zmiennej typu char. Char przetrzymuje tylko jeden znak. 
 
   | 
 | 
m4dm4x Temat założony przez niniejszego użytkownika  | 
» 2015-12-13 20:19:39 Pardon, do zmiennej typu string  | 
 | 
mateczek  | 
» 2015-12-13 20:32:13 Czy o to chodziło ??? #include <iostream> #include <string>
  using namespace std;
  int main() {     string text { "ala ma tygrysa" };     const char * a = text.c_str();      for( int i = 0; i < text.size(); i++ ) {         cout << a[ i ] << endl;      }      }
   | 
 | 
m4dm4x Temat założony przez niniejszego użytkownika  | 
» 2015-12-13 21:40:08 Jest prawie super z jednym małym "ale". Program, który dzięki temu napisałem działa (wypełnia tablicę tekstem) do momentu pojawienia się spacji po której przestaje, a ja chce, żeby również je wypisywał (jest to kluczowe dla rozwiązania problemu). Tak więc zamiast "ala ma tygrysa" mam "ala" Wrzucam kod: #include <iostream> #include <string> using namespace std; string text;
  void wczytaj( void ) {     cin >> text; } void format( void ) {     const char * tab = text.c_str();     for( int i = 0; i < text.size(); i++ )     {         cout << tab[ i ];     } }
  int main() {     wczytaj();     format();     return 0; }
     | 
 | 
carlosmay  | 
» 2015-12-13 23:09:05 char ch; char tab[ 512 ]; int i = 0; cin.get( ch ); while( ch != '\n' ) {     tab[ i++ ] = ch;     cin.get( ch ); } tab[ i ] = '\0'; cout << tab << endl;
   Może takie rozwiązanie?  | 
 | 
m4dm4x Temat założony przez niniejszego użytkownika  | 
» 2015-12-14 14:06:42 Przy "cin.get" error: no matching function for call to 'std::basic_istream<char>::get(std::string&)'| #include <iostream> #include <string> #include <conio.h> using namespace std; string text; char tab[ 512 ];
  void wczytaj( void ) {     cin >> text; } void format( void ) {     int i = 0;     cin.get( text );     while( text != '\n' )     {         tab[ i++ ] = text;         cin.get( text );     }     tab[ i ] = '\0';     cout << tab << endl;                               }
  int main() {     wczytaj();     format();     return 0; }
  Btw cout << tab nie powinien zwrócić tylko tab[0]??  | 
 | 
carlosmay  | 
» 2015-12-14 14:17:05  std::cin.get()  pobiera znaki pojedynczo ze strumienia. W twoim przykładzie dla zmiennej typu  std::string dobrym rozwiązaniem jest  std::getline(std::cin, text); . Wczytuje cały wiersz do zmiennej 'text'.  | 
 | 
|  « 1 »  2 |