Veröffentlicht 13. September 200717 j moin irgendwie hab ich verlernt wie man c programmiert bin irgendwie java verwöhnt... also will folgendes machen: ich hab ne datei in der ne zeile steht CamName=AVS_TEST_1 dieses lese ich mit meinem programm zeichen für zeichen aus... und überprüfe auf '=' geht soweit nun möchte ich aber die einzelen Chars die ich auslese in ein char* speichern... aber irgendwie mag strcat net also ich habs mit strcat(char*, char); versucht aber das mag er net... wie muss ich das machen? pls help LordTerra
13. September 200717 j Also bei mir geht strcat.... #include "stdafx.h" #include "string.h" int _tmain(int argc, _TCHAR* argv[]) { char *pcBuffer = new char[200]; memset(pcBuffer, 0, 200); strcat(pcBuffer, "a"); strcat_s(pcBuffer, 200, "b"); printf(pcBuffer); return 0; }
17. September 200717 j wozu das memset :confused: Wenn das Array leer ist nimmt zum füllen für gewhönlich strcpy anstatt strcat, dann muss man auch nicht drauf achten das eine Null am Anfang steht
17. September 200717 j das was eigentlich passieren sollte passiert ob nun per strcpy oder memset is doch letztendlich wurst falls ich unrecht haben sollte, korrigier mich ich will hier kein müll verbreiten P.S.: Oh wie passend, du kämpfst wie eine Kuh
17. September 200717 j Naja durch den memset Aufruf füllst du das komplette Array mit binären Nullen, was komplett unnötigt ist. Wenn dann würde ein pcBuffer[0] = 0; ausreichen damit du strcat zum Befüllen nutzen kannst. Aber wie gesagt eigentlich ist strcpy dafür gedacht, sodass du dir das eh sparen kannst. Du wirst die Mehrarbeit durch den memset Aufruf zwar im Normalfall nicht bemerken, aber was nicht sein muss muss nicht sein
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.