replace |
#include <stdio.h> #include <string.h> // Função para substituir todas as ocorrências de 'old_str' por 'new_str' em 'input_str' void replaceString(char *input_str, const char *old_str, const char *new_str) { char *result; int i, count = 0; int new_str_len = strlen(new_str); int old_str_len = strlen(old_str; // Conta quantas vezes 'old_str' aparece em 'input_str' for (i = 0; input_str[i] != '\0'; i++) { if (strstr(&input_str[i], old_str) == &input_str[i]) { count++; i += old_str_len - 1; } } // Aloca memória para a nova string result = (char *)malloc(i + count * (new_str_len - old_str_len) + 1); i = 0; while (*input_str) { if (strstr(input_str, old_str) == input_str) { strcpy(&result[i], new_str); i += new_str_len; input_str += old_str_len; } else { result[i++] = *input_str++; } } result[i] = '\0'; // Copia a nova string de volta para a string de entrada strcpy(input_str, result); // Libera a memória alocada para a nova string free(result); } int main() { char str[] = "Esta é uma string de exemplo. Exemplo de string."; const char old_str[] = "exemplo"; const char new_str[] = "amostra"; replaceString(str, old_str, new_str); printf("String após a substituição: %s\n", str); return 0; } |
length |
#include <stdio.h> #include <string.h> int main() { char minhaString[] = "Esta é uma string de exemplo"; int comprimento = strlen(minhaString); printf("O comprimento da string é: %d\n", comprimento); return 0; } |
substring |
#include <stdio.h> #include <string.h> // Função para extrair uma substring de uma string void substring(const char *input, int start, int length, char *output) { int input_length = strlen(input); int i; if (start < 0 || start >= input_length) { printf("Índice de início inválido\n"); return; } for (i = 0; i < length && input[start + i] != '\0'; i++) { output[i] = input[start + i]; } output[i] = '\0'; } int main() { char minhaString[] = "Esta é uma string de exemplo"; char subString[20]; // Alocando espaço para a substring int startIndex = 5; // Índice inicial int length = 8; // Comprimento da substring substring(minhaString, startIndex, length, subString); printf("Substring: %s\n", subString); return 0; } |
charAt |
#include <stdio.h> int main() { char minhaString[] = "Esta é uma string de exemplo"; // Acessando o caractere na posição 5 (índice 4) da string char caractere = minhaString[4]; printf("O caractere na posição 5 é: %c\n", caractere); return 0; } |
indexOf |
#include <stdio.h> #include <string.h> // Função para encontrar a posição da primeira ocorrência de uma subcadeia em uma string int indexOf(const char *haystack, const char *needle) { const char *result = strstr(haystack, needle); if (result != NULL) { return result - haystack; } else { return -1; // Subcadeia não encontrada } } int main() { char minhaString[] = "Esta é uma string de exemplo"; const char subcadeia[] = "exemplo"; int posicao = indexOf(minhaString, subcadeia); if (posicao != -1) { printf("A subcadeia foi encontrada na posição %d\n", posicao); } else { printf("A subcadeia não foi encontrada na string.\n"); } return 0; } |
lastIndexOf |
#include <stdio.h> #include <string.h> // Função para encontrar a posição da última ocorrência de uma subcadeia em uma string int lastIndexOf(const char *haystack, const char *needle) { const char *result = NULL; const char *current = haystack; while ((current = strstr(current, needle)) != NULL) { result = current; current++; } if (result != NULL) { return result - haystack; } else { return -1; // Subcadeia não encontrada } } int main() { char minhaString[] = "Esta é uma string de exemplo com uma palavra exemplo."; const char subcadeia[] = "exemplo"; int posicao = lastIndexOf(minhaString, subcadeia); if (posicao != -1) { printf("A última ocorrência da subcadeia foi encontrada na posição %d\n", posicao); } else { printf("A subcadeia não foi encontrada na string.\n"); } return 0; } |
toLowerCase |
#include <stdio.h> #include <ctype.h> #include <string.h> int main() { char minhaString[] = "Esta é uma String com Caracteres Latinos: ÁÉÍÓÚÑ"; for (int i = 0; minhaString[i]; i++) { minhaString[i] = tolower(minhaString[i]); } printf("String em minúsculas: %s\n", minhaString); return 0; } |
toUpperCase |
#include <stdio.h> #include <ctype.h> #include <string.h> int main() { char minhaString[] = "Esta é uma String com Caracteres Latinos: áéíóúñ"; for (int i = 0; minhaString[i]; i++) { minhaString[i] = toupper(minhaString[i]); } printf("String em maiúsculas: %s\n", minhaString); return 0; } |
compareTo |
#include <stdio.h> #include <string.h> int main() { char string1[] = "banana"; char string2[] = "abacaxi"; int resultado = strcmp(string1, string2); if (resultado < 0) { printf("string1 vem antes de string2 na ordem lexicográfica.\n"); } else if (resultado == 0) { printf("As duas strings são idênticas.\n"); } else { printf("string1 vem depois de string2 na ordem lexicográfica.\n"); } return 0; } |
compareToIgnoreCase |
#include <stdio.h> int main() { int resultado = strcasecmp(string1, string2); if (resultado == 0) { return 0; |
equals |
#include <stdio.h> #include <string.h> int main() { char string1[] = "banana"; char string2[] = "banana"; int resultado = strcmp(string1, string2); if (resultado == 0) { printf("As duas strings são iguais.\n"); } else { printf("As duas strings são diferentes.\n"); } return 0; } |
equalsIgnoreCase |
#include <stdio.h> #include <strings.h> // Para strcasecmp int main() { char string1[] = "banana"; char string2[] = "Banana"; int resultado = strcasecmp(string1, string2); if (resultado == 0) { printf("As duas strings são iguais (sem diferenciação de maiúsculas e minúsculas).\n"); } else { printf("As duas strings são diferentes (sem diferenciação de maiúsculas e minúsculas).\n"); } return 0; } |