|
|
1.1 ! root 1: scanf format string decision tree ! 2: ----- ------ ------ -------- ---- ! 3: ! 4: misc: ! 5: extra arguments are ignored ! 6: ! 7: ! 8: d ! 9: size indicator: ! 10: h pointer to short int ! 11: l pointer to long int ! 12: L UNDEFINED ! 13: conversion: ! 14: signed integer (same as strtol base 10) ! 15: argument is pointer to int ! 16: ! 17: i ! 18: size indicator: ! 19: h pointer to short int ! 20: l pointer to long int ! 21: L UNDEFINED ! 22: conversion: ! 23: signed integer (same as strtol base 0) ! 24: argument is pointer to int ! 25: ! 26: o ! 27: size indicator: ! 28: h pointer to unsigned short ! 29: l pointer to unsigned long ! 30: L UNDEFINED ! 31: conversion: ! 32: unsigned integer (same as strtoul base 8) ! 33: argument is pointer to unsigned int ! 34: ! 35: u ! 36: size indicator: ! 37: h pointer to unsigned short ! 38: l pointer to unsigned long ! 39: L UNDEFINED ! 40: conversion: ! 41: unsigned integer (same as strtoul base 10) ! 42: argument is pointer to unsigned int ! 43: ! 44: x,X ! 45: size indicator: ! 46: h pointer to unsigned short ! 47: l pointer to unsigned long ! 48: L UNDEFINED ! 49: conversion: ! 50: argument is pointer to float ! 51: ! 52: s ! 53: size indicator: ! 54: h UNDEFINED ! 55: l UNDEFINED ! 56: L UNDEFINED ! 57: conversion: ! 58: sequence of non-whitespace characters ! 59: ! 60: [ ! 61: size indicator: ! 62: h UNDEFINED ! 63: l UNDEFINED ! 64: L UNDEFINED ! 65: conversion: ! 66: matches non-empty set of characters fromthe "scanset" ! 67: argument is pointer to array large enough to recieve input string ! 68: scanset: ! 69: all characters between [ and ] ! 70: all characters not between [^ and ] ! 71: the beginning sequences [] and [^] mean that ] is in the list ! 72: '-' is implementation defined unless as [- [^- []- or [^]- ! 73: chargument is char * ! 74: ! 75: c ! 76: size indicator: ! 77: h UNDEFINED ! 78: l UNDEFINED ! 79: L UNDEFINED ! 80: conversion: ! 81: match characters up to field width ! 82: default if no width is 1 ! 83: no null character is added ! 84: argument is char * ! 85: ! 86: p ! 87: size indicator: ! 88: h UNDEFINED ! 89: l UNDEFINED ! 90: L UNDEFINED ! 91: conversion: ! 92: matches text produced by printf %p ! 93: printf -> scanf with %p must produce the same pointer back ! 94: argument is pointer to void * ! 95: ! 96: n ! 97: size indicator: ! 98: h pointer to short int ! 99: l pointer to long int ! 100: L UNDEFINED ! 101: conversion: ! 102: no input consumed and argument count not incremented ! 103: argument is pointer to int ! 104: write number of characters consumed ! 105: ! 106: misc: ! 107: %% is escape to match % in input ! 108: width specifies max characters matched ! 109: whitespace means to skip leading white space up to end of input ! 110: multibyte characters means to read as long as match occurs (no assignment) ! 111: input conversion is processed as: ! 112: skip whitespace unless there is a c, [, or n specifier ! 113: read an item fromthe input unless processing an 'n' specifier ! 114: read longest possible match up to width specifier ! 115: if no characters read, it is a matching failure ! 116: * suppresses assignment ! 117: success leaves trailing whitespace unless there is whiatespace ! 118: at the end of the directive ! 119: input failure or matching failure leave next character on the input ! 120: EOF returned if end of input before any conversions ! 121: return number of conversions performed, may be less than ! 122: requeted if matchin or input failure occurs
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.