Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » will bloss ein char array ausgeben lassen :/

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.11.2006, 22:28 Uhr
~uuii
Gast


Hallo,
wie kann ich denn den Inhalt eines char* arr ausgeben lassen...

ich versuche das vegeblich mittels for(...) std::cout << arr[i] << std::endl; oder dergleichn...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.11.2006, 22:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja so sieht man noch relativ wenig was du machen willst, zeig mal etwas code oder fehlermeldung.


C++:
char *arr



kann vieles sein. Ansonsten: ein "char" ist nur ein Zeichen, keine Zeichenkette. (char *) ist ein Pointer auf (ein) Zeichen oder auf ein Array von Zeichen (auch Zeichenkette genannt) ->


C++:
char arr[50]; // Platz für 49 Zeichen + Nullterminator
char *arr_pointer = &arr[40]; // arr_pointer zeigt dann nur noch auf die letzten 9 Zeichen von "arr" + Nullterminator



Um sowas auszugeben nimmt man normalerweise einfach:


C++:
std::cout << arr << std::endl;



Nur bei mehr dimensionen (z.b ein Array aus Zeichenketten)

C++:
char arr[50][50]; // 50 Zeichenketten der maximalen Länge 49


muss man


C++:
for(unsigned char i = 0; i < 50; ++i)
  std::cout << arr[i] << std::endl;


schreiben, also jedes der 50 Elemente durchgehen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.11.2006, 22:55 Uhr
~uuii
Gast


sorry...
also bei mir sieht es so aus:


C++:
char* p_col = (char*)calloc(dimension,sizeof(char));

while(dimension--)
    {
        *p_col = *P;
        p_col++;  
        P++;
    }

//ja und jetzt würd ichs hier gern ausgeben lassen das array p_col....abe wie?

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.11.2006, 23:05 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


z.b mit printf... die kopiermethode mutet schon ein wenig eigenartig an. null zu terminieren nur weil calloc das macht ist auch ziemlich dirty und die annahme das dimension auch length(*P)+1 hat auch gewagt.

wenn man denn von hand durchkopieren will lohnt es sich lieber auch direkt die zeiger zu verwenden und gucken wann der auf das null terminierte zeichen zeigt...

wie wäre es mit memcpy bzw. strcpy
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.11.2006, 00:02 Uhr
~uuii
Gast


joa danke...
warum funktioniert denn sowas nicht:


C++:
void
Spai::Method_POINTER(double* M,
                             const char* p_col,
                     const double* e_k_hat,
                     size_t dimension,
                     const int& col)
{    
    M += col * dimension;
    while(dimension--)
    {
        if(*p_col)
        {
            memcpy(M, e_k_hat, 1);
            //*M = *e_k_hat;
            //e_k_hat++;
        }  
        M++;
        p_col++;
    }    
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.11.2006, 00:17 Uhr
~uuii
Gast


ja klar...hab die grösse hinten vergessen im memcopyy
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.11.2006, 00:20 Uhr
~uuii
Gast


jetzt interessiert mich aber schon noch das mit dem Nullterminator....wie sähe denn so ein code aus bei dem ich auf das letzte element überprüfe?

Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.11.2006, 14:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


kanns du zunächst mal bitte definieren was du planst und was der teil des programmes den du anfragst zu einem genau machen soll und zum anderen was der als parameter übergeben bekommt
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: