ft/
strlen.rs

1/// # strlen
2/// Returns str.len().
3///
4/// This function has no reason to exist.
5///
6/// ## Example
7/// ```
8/// assert_eq!(ft::strlen("abc"), 3);
9/// assert_eq!(ft::strlen("\0bc"), 3);
10/// ```
11pub fn strlen(s: &str) -> usize {
12  return s.len();
13}
14
15/// # strlen_naive
16/// Returns amount of sumbols to first null-symbol in the string.
17///
18/// ## Example
19/// ```
20/// assert_eq!(ft::strlen_naive("abc"), 3);
21/// assert_eq!(ft::strlen_naive("a\0c"), 1);
22/// ```
23pub fn strlen_naive(s: &str) -> usize {
24  let c: Vec<char> = s.chars().collect();
25  let mut i: usize = 0;
26
27  while i < c.len() && c[i] != '\0' {
28    i += 1;
29  }
30
31  return i;
32}