En C++, strchr() es una función predefinida que se utiliza para encontrar la aparición de un carácter en una string. Está presente en el archivo de encabezado cstring.
Sintaxis:
// Devuelve el puntero a la primera ocurrencia
// de c en str[]
char *strchr(const char *str, int c)
Tenga en cuenta que c se pasa como su promoción int, pero internamente se trata como char.
Aplicación
Dada una string en C++, necesitamos encontrar la primera aparición de un carácter, digamos ‘a’.
Ejemplos:
Entrada: str[] = ‘Esto es una string’
Salida: 9Entrada: str[] = ‘Mi nombre es Ayush’
Salida: 5
Algoritmo:
1. Pase la string dada en la función strchr() y mencione el carácter que necesita señalar.
2. La función devuelve un valor e imprime el valor.
A continuación se muestra la implementación del algoritmo anterior:
CPP
// CPP program to find position of a character // in a given string. #include <iostream> #include <cstring> using namespace std; int main() { char str[] = "My name is Ayush"; char* ch = strchr(str, 'a'); cout << ch - str + 1; return 0; }
5
La función strchr() también se puede utilizar para comprobar la presencia de un carácter en una string. La entrada consiste en un carácter que queremos verificar, si existe en la string.
Ejemplo: Verifiquemos si los caracteres A y z están presentes en la string – “Mi nombre es Ayush”
Entrada: str[] = ‘Mi nombre es Ayush’,
ch1 = ‘A’, ch2 = ‘z’
Salida: A está presente en la string
z no está presente en la string
Algoritmo
1. Pase la string dada en la función strchr() con el carácter como segundo parámetro y verifique si el valor devuelto no es nulo
2. Si la función devuelve un valor NULL, esto significa que la string no contiene el carácter, entonces, imprima la declaración requerida.
3. De lo contrario, si la función no devuelve un valor NULL, esto significa que la string contiene el carácter, por lo tanto, imprima la declaración requerida.
A continuación se muestra la implementación del algoritmo anterior:
CPP
// CPP program to demonstrate working of strchr() #include <iostream> #include <cstring> using namespace std; // Driver code int main() { char str[] = "My name is Ayush"; char ch = 'A', ch2 = 'z'; if (strchr(str, ch) != NULL) cout << ch << " " << "is present in string" << endl; else cout << ch << " " << "is not present in string" << endl; if (strchr(str, ch2) != NULL) cout << ch2 << " " << "is present in string" << endl; else cout << ch2 << " " << "is not present in string" << endl; return 0; }
A is present in string z is not present in string
La función strchr() se puede usar para encontrar la ruta de directorio absoluta para Linux: (Contribuido por Ekta_nehwal )
Ejemplos:
Entrada: /inicio/prueba/muestra
Salida: /inicio/prueba
Algoritmo:
- Encuentre la posición del último «/» en la ruta del directorio usando strrchr.
- Reemplace la ocurrencia con el carácter NULL.
A continuación se muestra la implementación del algoritmo anterior, básicamente estamos encontrando la posición de / y luego cambiándola a \0 (nula).
C
// C program to find directory path #include <string.h> #include<stdio.h> int main() { char string[]={"/home/test/sample"}; int len; //position of last char char* pos; // save length of string len = strlen(string); // Find the last character with pos = strrchr(string,'/') ; printf("%s\n",string); // replace last occurrence of / with NULL character. *pos='\0'; printf("%s\n",string); return 0; }
/home/test/sample /home/test
Este artículo es una contribución de Ayush Saxena . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA