#ifndef S21_STRING_H
#define S21_STRING_H
#include <stdio.h>
#include <stdlib.h>
size_t s21_strlen(const char *str);
#endif
#include "s21_string.h"
size_t s21_strlen(const char *str) {
size_t length = 0;
while (str[length] != '\0') {
length++;
}
return length;
}
#include "s21_string.h"
void s21_strlen_test(void) {
const char *tests[] = {"Hello", "", "School 21"};
const size_t expected[] = {5, 0, 9};
const size_t count = sizeof(tests) / sizeof(tests[0]);
for (size_t i = 0; i < count; i++) {
size_t result = s21_strlen(tests[i]);
printf("Input: \"%s\", Output: %zu, Expected: %zu — %s\n",
tests[i], result, expected[i],
result == expected[i] ? "SUCCESS" : "FAIL");
}
}
int main(void) {
s21_strlen_test();
return 0;
}
CC = gcc
CFLAGS = -Wall -Wextra -Werror -std=c11
BUILD_DIR = ../../build
TARGET = $(BUILD_DIR)/Quest_6
strlen_tests: $(TARGET)
$(TARGET): s21_string.c s21_string_test.c s21_string.h
mkdir -p $(BUILD_DIR)
$(CC) $(CFLAGS) s21_string.c s21_string_test.c -o $(TARGET)
clean:
rm -f $(TARGET)
.PHONY: strlen_tests clean