Visual Studio 2010 da C++ de yapamaya çalıştığım programda "Bad Ptr" nasıl yakalanabilinir. "Hata burada" olarak belirttiğim satırda Bad Ptr bir türlü yakalamayı başaramadım.
Yardımlarınızı bekliyorum
Yardımlarınızı bekliyorum
#include <stdarg.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
char *MultiStrCat(char * first, ...);
int main(int argc, char* argv[])
{
char *str1 ="Hello World1";
char *str2 ="Hello World2";
char *str3 ="Hello World3";
char *StrMix;
StrMix =MultiStrCat(str1,str2,str3);
printf("%s\n",StrMix);
getch();
return 0;
}
char *MultiStrCat(char * first, ...)
{
int totlen;
char * item;
int count = 0, sum = 0;
item = first;
va_list marker;
va_start( marker, first );
while(true)
{
count++;
sum = sum+ strlen(item);
item = (char*) va_arg( marker, char*);
if (item ==NULL) {break;} //Hata burada
}
va_end(marker);
char *buffer =new char[sum+1];
*(buffer+0)='\0';
strcpy(buffer,first);
va_start( marker, first );
for (int c=0;c<count-1;c++){
item = va_arg( marker, char*);
strcat(buffer,item);
}
return(buffer);
}