'Read input data (file-like object, filename, list of strings, or
single string) into a Table and return the result.'

def read(self, table):

    if ((self.comment is not None) and (len(self.comment) != 1)):
        raise core.ParameterError('The    C    reader    does    not    support    a    comment    regex')
    elif (self.data_start is None):
        raise core.ParameterError('The    C    reader    does    not    allow    data_start    to    be    None')
    elif ((self.header_start is not None) and (self.header_start < 0) and (not isinstance(self, FastCommentedHeader))):
        raise core.ParameterError('The    C    reader    does    not    allow    header_start    to    be    negative    except    for    commented-header    files')
    elif (self.data_start < 0):
        raise core.ParameterError('The    C    reader    does    not    allow    data_start    to    be    negative')
    elif (len(self.delimiter) != 1):
        raise core.ParameterError('The    C    reader    only    supports    1-char    delimiters')
    elif (len(self.quotechar) != 1):
        raise core.ParameterError('The    C    reader    only    supports    a    length-1    quote    character')
    elif ('converters' in self.kwargs):
        raise core.ParameterError('The    C    reader    does    not    support    passing    specialized    converters')
    elif ('encoding' in self.kwargs):
        raise core.ParameterError('The    C    reader    does    not    use    the    encoding    parameter')
    elif ('Outputter' in self.kwargs):
        raise core.ParameterError('The    C    reader    does    not    use    the    Outputter    parameter')
    elif ('Inputter' in self.kwargs):
        raise core.ParameterError('The    C    reader    does    not    use    the    Inputter    parameter')
    elif (('data_Splitter' in self.kwargs) or ('header_Splitter' in self.kwargs)):
        raise core.ParameterError('The    C    reader    does    not    use    a    Splitter    class')
    self.strict_names = self.kwargs.pop('strict_names', False)
    self.engine = cparser.CParser(table, self.strip_whitespace_lines, self.strip_whitespace_fields, delimiter=self.delimiter, header_start=self.header_start, comment=self.comment, quotechar=self.quotechar, data_start=self.data_start, fill_extra_cols=self.fill_extra_cols, **self.kwargs)
    conversion_info = self._read_header()
    self.check_header()
    if (conversion_info is not None):
        (try_int, try_float, try_string) = conversion_info
    else:
        try_int = {}
        try_float = {}
        try_string = {}
    with set_locale('C'):
        (data, comments) = self.engine.read(try_int, try_float, try_string)
    meta = OrderedDict()
    if comments:
        meta['comments'] = comments
    return Table(data, names=list(self.engine.get_names()), meta=meta)
