Programozás C-készítő
Billentyűzet bemeneti vonal
Használhatja a cin nyilatkozatot. Input Operation írható:
Ha cin üzemeltető figyelembe kell venni a következőket:
- Input ér véget, amikor az Enter billentyű megnyomása;
- Ha van egy rés a vonal, a karakter a szóköz után nem lépett;
- Ha a karakterek száma kevesebb, mint a bejelentett húr hossza, a többi mezőt nem töltötte ki. Ezért szükséges, hogy a pre-visszaállító vonal
- Ha a karakterek száma több, mint a bejelentett string hossza, majd belépett az összes karakter Enter billentyű lenyomása előtt.
Mint egy operátor bemeneti amikor húrok helyett felvétel a patak üzemeltető CIN >> jobb felhasználása cin.getline () függvény, mint egy patak a bemeneti üzemeltető figyelmen kívül hagyja bemeneti terek, és emellett, lehet továbbra is írásban elemei a tömböt, amikor egy sorban adják kevesebb helyet a beírt karakterek. cin.getline () függvény elfogad két érv: az első érv jelzi a sort, amelyben a bemeneti végezzük, és a második - a karakterek számát be kell vinni.
cout < cout < Elején meghirdetett program sajatString sor kerülhet csak három fontos karakterek és fejeződik be null-terminált. Minden ezt követő karaktereket ebben stringtömb hogy ki kell dobni. Mint látható a például akkor, ha cin.getline () függvény a második paraméter jelzi a számok kisebb, vagy egyenlő, mint a méret a bemeneti karakterlánc. Néha ez sokkal kényelmesebb bemenet lesz () függvényt. Amikor kap () függvény, a következőket kell figyelembe venni: - Ha a karakterek száma kevesebb, mint a bejelentett húr hossza, a többi mezőt nem töltötte ki. Ezért kívánatos, hogy a pre-reset sort; - Karakterek száma nem lehet több, mint a közölt string hossza (a funkció kap nem ellenőrzi a karakterek száma, és ez ahhoz vezethet, hogy kiszámíthatatlan hibák); - Input ér véget, ha az Enter billentyűt. cout < cout < Hosszának meghatározása vonalak Nagyon gyakran, amikor dolgozik húrok kell tudni, hogy hány karakter a szöveg tartalmaz. Annak tisztázása információkat a string hossza a header fájlban string.h leírt funkció strlen (). A szintaxisa Ez a funkció a következő: size_t strlen (const char * string) A funkció az egyedüli paraméter kap egy mutatót, hogy az elején húr vonalak, kiszámítja a beérkezett előjel nélküli egész, és visszaadja a karaktersorozatot (size_t). strlen () függvény értéke egy kisebb elkülönített tömb miatt a hely foglalás egy " # 92; 0”. A következő kódrészlet használatát mutatja strlen () függvényt: char Str [] = "ABCDEFGHIJK"; int i = 0; // i - betűk számláló RUS ( "backup-teszt"); // Szöveg beírása orosz bufRus míg a (bufRus [i] = '# 92; 0'!) // Ellenőrizze a végén a másolt tömb A string.h könyvtár másol számos standard funkciók. strcpy () egy prototípus: char * strcpy (char * STRL, const char * str2) Például, a következő kód példányban értéke a húr Str „Másolás Test” sort: strcpy (Str, RUS ( "Másolás Test")); strcpy (Str, RUS ( "Másolás Test")); // ptr most mutat Másolás: A program szöveg jelenik meg. strncpy () függvény eltér strcpy (), hogy a beállítás egy újabb érv meghatározza a karakterek száma, amelyek már nem kerülnek másolásra. A szintaxis a következő: char * strncpy (char * STRL, const char * str2, size_t num) Ha a hossza kisebb, mint a hossza STRL str2, karakterek vágás következik be: char cLong [] = "012345678901234567890123456789"; strncpy (CShort, cLong, 4); cout < cout < Az eredmény jelenik meg: Azaz, a sorban cLong CShort első négy szimbólum string másolható, cseréje, így a kezdeti értéke a kezdete egy rövid karaktersorozat. StrDup () függvény paraméterként kapja egy mutatót a sornak, elvégzi a memória kiosztás, másolás kijelölt területein egy húr, és visszaad egy pointert a sor elejére kapott példány. A szintaxis a következő: char * StrDup (const char * forrás) str1 = új char [21]; // memória dinamikus strcpy (str1, RUS ( "Az eljárás nem található")); Az összefűzés (kuplung) sorokban Az összefűzés vagy a tengelykapcsoló vonalak valósítható egy hozzáadásával tömb másik: char Str1 [10], Str2 [10], Str3 [20], Str4 [11] =”, és # 92; 0 „;Kapcsolódó cikkek