Аналог PHP-шного AddSlashes() на С++
Попросили написать — не вопрос :)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char * AddSlashes(char* str) {
char *s=str;
int old_len=strlen(str);
int len=0;
while (*s) {
if (*s=='\'' || *s=='"') len+=2; else len++;
s++;
}
char *newstr=(char*)malloc(len+1);
char *ns=newstr;
s=str;
while (*s) {
if (*s=='\'' || *s=='"') {
*ns='\\';ns++;
}
*ns=*s;ns++;s++;
}
*ns=0;
return(newstr);
}
void main(void) {
char *s=AddSlashes("привет 'это тест' \"это тесто\"");
printf("%s",s);
free(s);
}
Download this code: addslashes.cpp
Комментарии