/
vit1251
/
cmm
Обзор
Документация
Войти
/
vit1251
/
cmm
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lib/string.cmm
28 строк
548 B
Vitold S
Commits added a large set of example and demo programs,
26 июл 2026, 14:31
26 июл 2026, 14:31
8e0776e
Код
Авторство
О чём код?
use libc; extern fn strlen(s: *u8) -> u64; extern fn memcpy(dst: *u8, src: *u8, n: u64) -> *u8; struct String { ptr: *u8, len: u64, cap: u64 } impl String { pub fn from(s: *u8) -> String { let len: u64 = strlen(s); let size: u64 = len.saturating_add(1); let ptr: *u8 = malloc(size); memcpy(ptr, s, size); String { ptr: ptr, len: len, cap: len } } pub fn cstr(self: *String) -> *u8 { self.ptr } pub fn drop(self: *String) -> void { free(self.ptr); } }