Добавление безразмерной строки с динамическим выделением памяти
This commit is contained in:
		
							parent
							
								
									fbe0514d1b
								
							
						
					
					
						commit
						08e39eca09
					
				
							
								
								
									
										15
									
								
								examples/string.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								examples/string.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| #include <stdio.h> | ||||
| 
 | ||||
| #include "../libs/string.h" | ||||
| 
 | ||||
| int main() { | ||||
| 	string test = strInit("Hello?"); | ||||
| 	printf("String now: %s\n", test); | ||||
| 	strAdd(&test, " World?"); | ||||
| 	printf("String now: %s\n", test); | ||||
| 	strSet(&test, "Another intresting test with string"); | ||||
| 	printf("String now: %s\n", test); | ||||
| 	free(test); | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
							
								
								
									
										20
									
								
								libs/string.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								libs/string.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| 
 | ||||
| typedef char* string; | ||||
| string strInit(char* s) { | ||||
| 	string str = malloc(strlen(s) * sizeof(char)); | ||||
| 	strcpy(str, s); | ||||
| 	return str; | ||||
| } | ||||
| void strAdd(string* s, char* str_new) { | ||||
| 	*s = realloc(*s, strlen(*s) + strlen(str_new)*sizeof(char)); | ||||
| 	strcat(*s, str_new); | ||||
| } | ||||
| void strSet(string* s, char* str_new) { | ||||
| 	*s = realloc(*s, strlen(str_new)*sizeof(char)); | ||||
| 	strcpy(*s, str_new); | ||||
| } | ||||
| void strCopy(string* s1, string* s2) { | ||||
| 	strcpy(*s2, *s1); | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user