mirror of
https://github.com/ziglang/zig.git
synced 2024-11-26 23:22:44 +00:00
21 lines
600 B
Zig
21 lines
600 B
Zig
const std = @import("std");
|
|
const Allocator = std.mem.Allocator;
|
|
const expect = std.testing.expect;
|
|
|
|
test "using an allocator" {
|
|
var buffer: [100]u8 = undefined;
|
|
var fba = std.heap.FixedBufferAllocator.init(&buffer);
|
|
const allocator = fba.allocator();
|
|
const result = try concat(allocator, "foo", "bar");
|
|
try expect(std.mem.eql(u8, "foobar", result));
|
|
}
|
|
|
|
fn concat(allocator: Allocator, a: []const u8, b: []const u8) ![]u8 {
|
|
const result = try allocator.alloc(u8, a.len + b.len);
|
|
@memcpy(result[0..a.len], a);
|
|
@memcpy(result[a.len..], b);
|
|
return result;
|
|
}
|
|
|
|
// test
|