función de C ++ strstr () y una cadena, <string.h>, <cstring> distinción

Acerca de la función strstr ()

En el cstring archivo de la biblioteca, en lugar de la cadena, el uso es:

str (str1, str2);

str1: es encontrar el expr cadena de destino; esión a búsqueda.

str2: Para buscar el objeto de la expresión de cadena de encontrar.

Nota cadena1 y cadena2 deben ser char *;

Devoluciones: Si str2 es una subcadena de cadena1, se devuelve la dirección str2 en la primera aparición de str1, si no, se devuelve NULL la subcadena de cadena1 cadena2.

Por definición un poco timido entender. Por ejemplo para saber.
Por ejemplo:
Char str2 = "CDEF";
Char str1 = "ABCDEFGH";
a través de la función devuelve
strstr (str1, str2) = CDEFGH ;

Si cadena1 no contiene str2.
str2 = char "cxef";
Char str1 = "ABCDEFGH";
a través de la función devuelve
strstr (str1, str2) = NULL ;


 

Acerca de cuerda y cadena tipo, diferencia string.h:

<String.h>
<string.h> es una versión del archivo de cabecera C, que contiene tal strcpy, funciones de cadena strcat similares.

<String>
<string> se define en el archivo de cabecera estándar C ++, que define una cadena de clase de cadena, que contiene las diferentes operaciones de clase cadena, tales como s.size (), s.erase (), s.insert () y así sucesivamente. Pero <cadena> C también contiene la versión antigua de las operaciones de cadena tales como strcpy, strcat similares, lo que equivale, en <cadena> Además de la definición de su propia clase string archivo, pero también agregó una #include <string .h> C contiene unas operaciones de cadena de versión.


<Cstring>
en C ++ estandarización (1998) proceso para la compatibilidad anterior, las organizaciones de normalización de todos estos documentos han llevado a cabo se añade una nueva definición de la biblioteca estándar, después de añadir el nombre del archivo para añadir un prefijo "c" y eliminando el sufijo .h, se convirtió en cstring encabezado del archivo de cabecera string.h. Sin embargo, su aplicación es idéntico o compatible con el anterior, esto es <cstring> fuente, no creo que una cosa más. Es equivalente a la organización de la biblioteca estándar para cubrir un capítulo, dijo, "Usted es mi parte de la biblioteca estándar."


 

#include <iostream> 
#include <cstring> // 必须是cstring 
utilizando  espacio de nombres std;
const  int N = 100 ;
void mystrlwr ( Char * ps) 
{ 
    mientras que (* ps) 
    { 
        si ( ' A ' <= * ps && * ps <= ' Z ' )
             * ps + = 32 ; 
        ps ++ ; 
    } 
} 
Int main () 
{ 
    Char tecla [N + 1 ], s [N +1 ], lowerkey [N + 1 ], disminuye [N + 1 ];
    int opción, n; 
    cin >> tecla >> >> opción n; 
    strcpy (lowerkey, clave); 
    mystrlwr (lowerkey); 
    para ( int i = 0 ; i <= n; i ++ ) 
    { 
        cin >> s;
        si (opción == 0 ) 
        { 
            strcpy (reducir, s); 
            mystrlwr (reducir); 
            si (strstr (reducir, lowerkey)) 
            cout << s << endl; 
        } 
        Demás {
            si (strstr (s, clave)) 
            cout << s << endl; 
        } 
    } 
    Volver  0 ; 
}

 

Supongo que te gusta

Origin www.cnblogs.com/awangkuo/p/12524763.html
Recomendado
Clasificación