Учёт nulTerminator и мелкие исправления
This commit is contained in:
		
							parent
							
								
									2f6bba5ce7
								
							
						
					
					
						commit
						c9e69ededb
					
				| @ -2,17 +2,20 @@ | ||||
| #include <string.h> | ||||
| #include <stdio.h> | ||||
| 
 | ||||
| // It's base. NUL terminator.
 | ||||
| int nulTerm = 1; | ||||
| 
 | ||||
| // -------------------------------------
 | ||||
| // BASE - String and init of this
 | ||||
| // -------------------------------------
 | ||||
| typedef char* string; | ||||
| string strInit(char* s) { | ||||
| 	string str = malloc(strlen(s) * sizeof(char)); | ||||
| 	string str = malloc(strlen(s) + nulTerm); | ||||
| 	strcpy(str, s); | ||||
| 	return str; | ||||
| } | ||||
| void strResize(string* s, int new_size) { | ||||
| 	*s = realloc(*s, new_size * sizeof(char)); | ||||
| 	*s = realloc(*s, new_size + nulTerm); | ||||
| } | ||||
| // -------------- END ------------------
 | ||||
| 
 | ||||
| @ -22,15 +25,15 @@ void strResize(string* s, int new_size) { | ||||
| // FUNCTION - basic operations
 | ||||
| // -------------------------------------
 | ||||
| void strAdd(string* s, char* str_new) { | ||||
| 	*s = realloc(*s, strlen(*s) + strlen(str_new)*sizeof(char)); | ||||
| 	*s = realloc(*s, strlen(*s) + strlen(str_new) + nulTerm); | ||||
| 	strcat(*s, str_new); | ||||
| } | ||||
| void strSet(string* s, char* str_new) { | ||||
| 	*s = realloc(*s, strlen(str_new)*sizeof(char)); | ||||
| 	*s = realloc(*s, strlen(str_new) + nulTerm); | ||||
| 	strcpy(*s, str_new); | ||||
| } | ||||
| void strCopy(string* s1, string* s2) { | ||||
| 	strcpy(*s2, *s1); | ||||
| void strCopy(string* src, string* dst) { | ||||
| 	strcpy(*src, *dst); | ||||
| } | ||||
| // -------------- END ------------------
 | ||||
| 
 | ||||
| @ -44,17 +47,17 @@ int numLen(double num) { | ||||
| } | ||||
| 
 | ||||
| char* int2Str(int* num) { | ||||
|     char* buffer = malloc(numLen(*num) + 2); | ||||
|     char* buffer = malloc(numLen(*num) + nulTerm); | ||||
|     sprintf(buffer, "%d", *num); | ||||
|     return buffer; | ||||
| } | ||||
| char* float2Str(float* num) { | ||||
|     char* buffer = malloc(numLen(*num) + 2); | ||||
|     char* buffer = malloc(numLen(*num) + nulTerm); | ||||
|     sprintf(buffer, "%f", *num); | ||||
|     return buffer; | ||||
| } | ||||
| char* double2Str(double* num) { | ||||
|     char* buffer = malloc(numLen(*num) + 2); | ||||
|     char* buffer = malloc(numLen(*num) + nulTerm); | ||||
|     sprintf(buffer, "%lf", *num); | ||||
|     return buffer; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user