*test mit memset füllen warum kann ich die "0"en nicht auslesen???
-
Hallo,
warum zeigt es mir bei folgendem code nicht die mit 0 gefüllten werte in meinem pointer Buffer an????
villeicht kann mir ja jemand ein tip geben.
danke
#include <iostream>
using namespace std;int main()
{char *buffer =new char[1000];
memset (buffer,0,sizeof(char)*1000);cout <<buffer<<" stand da nix?"<<endl;
cout <<&buffer<<" stand da nix?"<<endl;
cout <<*buffer<<" stand da nix?"<<endl;return 0;
}in der ausgabe bekomm ich egal was ich mache einfach nicht die 0len die ich
doch mit memset in den pointer geschrieben hab
-
mach mal:
char *buffer = new char[1000]; memset(buffer,'0', 1000); cout << buffer[0] << endl; // erstes element
cu
-
statt 1000 kommt glaubi sizeof(char)*1000
cu
-
oder so:
std::fill_n(buffer,1000,0
-
besser wäre mit \0 zu füllen....
memset(buffer,'\0', sizeof(char)*1000); oder std::fill_n(buffer,1000,'\0');
cu
-
markus23 schrieb:
in der ausgabe bekomm ich egal was ich mache einfach nicht die 0len die ich
doch mit memset in den pointer geschrieben habEine 0 terminiert einen String. Klar, dass dort nichts angezeigt wird
. Fülle das Ding mal mit '0' statt 0.