Waitrud Weber’s blog

things and reminders for memories

Analyzer: windows-make: we can set the font-size: paste again: if the result match, next i depends on replaced string as a_t.

1
Qualified: 20210316
.\array_counter.cpp  Tue Mar 16 03:45:52 2021
...
124 :char* m_replace ( char* char_string,
125 : char* from_string, char* to_string ) {
126 :	char c1, c2;
127 :	int count = array_count( char_string );
128 :	int a_f = array_count( from_string );
129 :	int a_t = array_count( to_string );
130 :	int a_c = 0;
131 :	char* char_string_2 = 
132 :	  (char *) malloc ( sizeof (char)*( count + a_t - 1 ) );
133 :
134 :	c2 = 0;
135 :	int cnt_replace = 0;
136 :	for ( int i = 0; i<count; i++ ) {
137 :		c1 = *( char_string + i ) ;
138 :		a_c = 0;
       
 
139 :		for ( int j=0; j= 0) {
148 :			// match
149 :			int to = i + a_t;
150 :			for( int k=0; k<a_t; k++ ) {
151 :				err_msg_001("replace string k=|%d|%c|\r\n", k, *( to_string + k ));
152 :				*( char_string_2 + i + k + cnt_replace*(a_t- a_f ) ) = 
153 :				  *( to_string + k );
154 :			}
155 :			i = to;
156 :			cnt_replace++;
157 :		} else {
158 :			*( char_string_2 + i + cnt_replace*(a_t- a_f ) ) = c1;
159 :		}
160 :	}
161 :	*( char_string_2 + count + cnt_replace*( a_t - a_f ) ) = '\0';
162 :	put_memories ( char_string_2 );
163 :
164 :	return char_string_2;
165 :}
       
  > .\winmain_001.exe
a_001 |a$00<><></>$00bbb
ccc|
i|0| c1|97|=|a| a_c=0 a_f=3 c2|36||$|
i|1| c1|48|=|0| a_c=3 a_f=3 c2|48||0|
replace string k=|0|e|
replace string k=|1|e|
i|4| c1|60|=|<| a_c=0 a_f=3 c2|36||$|
i|5| c1|62|=|>| a_c=0 a_f=3 c2|36||$|
i|6| c1|60|=|<| a_c=0 a_f=3 c2|36||$|
i|7| c1|62|=|>| a_c=0 a_f=3 c2|36||$|
i|8| c1|60|=|<| a_c=0 a_f=3 c2|36||$|
i|9| c1|47|=|/| a_c=0 a_f=3 c2|36||$|
i|10| c1|62|=|>| a_c=0 a_f=3 c2|36||$|
i|11| c1|48|=|0| a_c=3 a_f=3 c2|48||0|
replace string k=|0|e|
replace string k=|1|e|
i|14| c1|98|=|b| a_c=0 a_f=3 c2|36||$|
i|15| c1|98|=|b| a_c=0 a_f=3 c2|36||$|
i|16| c1|98|=|b| a_c=0 a_f=3 c2|36||$|
| a_c=0 a_f=3 c2|36||$|
i|18| c1|10|=|
| a_c=0 a_f=3 c2|36||$|
i|19| c1|99|=|c| a_c=0 a_f=3 c2|36||$|
i|20| c1|99|=|c| a_c=0 a_f=3 c2|36||$|
i|21| c1|99|=|c| a_c=0 a_f=3 c2|36||$|
a_001 |aee<><></>eebbb
ccc|
       
  In line 155, we set value-to calculate already as next i.
Additonal changed:
When the string has double changable string like "$00" example, the function m_replace was changed.