void trans_space(char *str, char word, const char *slace) { if(slace == NULL || str == NULL) { return; } int length = m_strlen(str); int slace_length = m_strlen(slace); int i = 0; int j = 0; char tp[MAX_STR_LEN] = { 0 }; for(i = 0; i < length; ++i){ if(str[i] == word){ m_strcat(tp, slace); j += m_strlen(slace); }else{ tp[j] = str[i]; j += 1; } } m_strcpy(str, tp); }
String& String::operator+=(const String &obj) { String temp(*this); delete[] str; str = new char[temp.size + obj.size + 1]; m_strcpy(str, temp.str); m_strcat(str, obj.str); return *this; }
// //convertissement de fn_pattern vers le file chooser //d'fltk ou FLU // //si pas assez de mémoire alors il retourne 0 static char *fn_pattern_to_fltk(FN_PATTERN *pattern) { char *pattern_str=strdup(""); //si pattern vide ou pas asez de mémoire retourner le résultat! if(!pattern || !pattern_str) return pattern_str; while(pattern->name) { //tant que pas null // All Files (*.*) pattern_str = m_strcat(pattern_str, pattern->name); pattern_str = m_strcat(pattern_str, " "); pattern_str = m_strcat(pattern_str, "(*."); pattern_str = m_strcat(pattern_str, pattern->ext); pattern_str = m_strcat(pattern_str, ")"); //pas assez de mémoire if(!pattern_str) return pattern_str; pattern++; if(pattern->name) pattern_str = m_strcat(pattern_str, "\t"); } //retourne le résultat return pattern_str; }
// //convertissement de fn_pattern vers le dialog file chooser //de windows //la fonction retourne une variable malloc // //si pas assez de mémoire alors il retourne 0 static char *fn_pattern_to_win32(FN_PATTERN *pattern) { char *pattern_str=strdup(""); char tmp_delim = (char)0xFF; //le délimiteur, pour que ça soit pas 0 char str_delim[] = {tmp_delim,0}; if(!pattern_str) return 0; //retourner pattern vide... //si pattern vide ou pas asez de mémoire retourner le résultat! if(!pattern || !pattern_str) return pattern_str; while(pattern->name) { //tant que pas null // All Files (*.*) pattern_str = m_strcat(pattern_str, pattern->name); pattern_str = m_strcat(pattern_str, " "); pattern_str = m_strcat(pattern_str, "(*."); pattern_str = m_strcat(pattern_str, pattern->ext); pattern_str = m_strcat(pattern_str, ")"); pattern_str = m_strcat(pattern_str, str_delim); // \0 pattern_str = m_strcat(pattern_str, "*."); pattern_str = m_strcat(pattern_str, pattern->ext); pattern_str = m_strcat(pattern_str, str_delim); //pas assez de mémoire if(!pattern_str) return pattern_str; pattern++; } //mets les \0\0 de la fin pattern_str = m_strcat(pattern_str, str_delim); pattern_str = m_strcat(pattern_str, str_delim); //convertissement de la chaine patter_str char *s = pattern_str; while(*s) { if(*s==tmp_delim) *s=0; s++; } //retourne le résultat return pattern_str; }