Аналог PHP-шного AddSlashes() на С++

Аналог PHP-шного AddSlashes() на С++

Аналог PHP-шного AddSlashes() на С++

Попросили написать — не вопрос :)

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. char * AddSlashes(char* str) {
  6. char *s=str;
  7. int old_len=strlen(str);
  8. int len=0;
  9. while (*s) {
  10. if (*s=='\'' || *s=='"') len+=2; else len++;
  11. s++;
  12. }
  13. char *newstr=(char*)malloc(len+1);
  14. char *ns=newstr;
  15. s=str;
  16.  
  17. while (*s) {
  18. if (*s=='\'' || *s=='"') {
  19. *ns='\\';ns++;
  20. }
  21. *ns=*s;ns++;s++;
  22. }
  23. *ns=0;
  24. return(newstr);
  25. }
  26.  
  27. void main(void) {
  28. char *s=AddSlashes("привет 'это тест' \"это тесто\"");
  29. printf("%s",s);
  30. free(s);
  31. }

Download this code: addslashes.cpp

Комментарии