Урок използвайте функцията sscanf - проучване език пешка

Въведение. Резюме.

Добро време на деня, участниците във форума. Доста често използвам sscanf функция. Защо? Той е удобен и практичен. И това може да не се използва само в отбора, но също така, например, при изтегляне на нищо от базата данни, както аз правя. Да предположим, че има кола система. С цел да не се създават две колони за всяка от двете възможни цветове на превозното средство, можете да създадете такъв, в който да се записва стойността на формата "tsvet_1, tsvet_2". Рекордно пишем чрез формат:

Моля, влезте или се регистрирайте, за да видите връзката.

Но сега се две стойности трябва да бъде проблематично от тази линия. Заповядайте при нас sscanf2 помощ.

Изтеглете sscanf2. Всички инструкции за свързване, посочени в същата тема.

По този начин, функцията е със следните аргументи:

Моля, влезте или се регистрирайте, за да видите връзката.

По отношение на сепараторите. Всъщност, това е знак, че споделяте вход. Например, ако аргументите са написани разделени със запетая, а след разделителя ще бъде: <,>, ако вертикален прът, <|>, ако на таблото, <->, ако празен, <>. Ако благоприятства пространство разделител, а след това <> и не можете да пишете.

Що се отнася за типовете данни за извличане. Има 4 вида:

  • и, г - числа (например, "1", "10", "120");
  • и [Size] - низ (например, "форум", "Да", "PW");
  • F - фракционна брой (например, "17 575" "-47.8" "100,99");
  • ф - ID на играча или част от име (например "0", "1", "Vasya_Pet", "Vasya_Petrov");

Връщайки се към примера на първоначалната sscanf употреба. променлива низ два цвята се записват: COLOR1 и COLOR2, разделени със запетая. Имаме нужда от всеки един от тях да увеличите (увеличение). За да направите това, първо трябва да се получи всеки цвят на линията, и след това да ги увеличи с един. Тъй като цветовете са цяло число тип данни, създаване на две променливи от тип цяло число.

Моля, влезте или се регистрирайте, за да видите връзката.

Премахване на двата цвята записано, разделени със запетаи, от низ променлива.

Моля, влезте или се регистрирайте, за да видите връзката.

Отново, тъй като цветовете са от тип цяло число, а след това ние използваме г и в двата случая. След това всичко е просто, пиша обратно към низ посредством низ формат две плюс една променлива:

Моля, влезте или се регистрирайте, за да видите връзката.

Но това е по-добре да го направи, ако искате да създадете по-малко стрес на системата:

Моля, влезте или се регистрирайте, за да видите връзката.

Извлечение от променливите три аргументи низ: UNIX време за наливане забрана часа, UNIX време изтичане забрана за чат и да причини дозиране. Те се записват с интервал. UNIX време и в двата случая става тип цяло число данни, и това е причината - низ. Ето защо, на външния вид ще бъде така: DDS [100]. 100 имам например. Да предположим, че максималната дължина причина не трябва да надвишава 100 символа. Като цяло, това изглежда така:

Моля, влезте или се регистрирайте, за да видите връзката.

Създаване на екип от телепортиране на посочените координати. Да предположим, че координатите се записват със запетая в променлива низ. В този случай, нашата sscanf приема следния вид:

Моля, влезте или се регистрирайте, за да видите връзката.

Моля, влезте или се регистрирайте, за да видите връзката.

Това ще бъде полезно, когато използвате тази функция в отбора:

sscanf връща 0. Това означава, че за да се провери дали е възможно да се намерят всички тези аргументи трябва да напишете:

Моля, влезте или се регистрирайте, за да видите връзката.

Моля, влезте или се регистрирайте, за да видите връзката.

Пример команди / Иди. Можете да въведете координатите, можете да въведете Player ID, или просто да оставите празно и да се телепортира на координати дадения код:

Моля, влезте или се регистрирайте, за да видите връзката.