複製鏈接
請複製以下鏈接發送給好友

cstdio

鎖定
cstdio是將stdio.h的內容用C++頭文件的形式表示出來。stdio.h是C標準函數庫中的頭文件,即:standard buffered input&output。提供基本的文字的輸入輸出流操作(包括屏幕和文件等)。由於C語言並沒有提供專用於文字輸入輸出的關鍵字,所以該庫是最普遍的C語言程序加載庫。
cstdio 和 stdio.h是有差別的,並不是同樣的文件。 [1] 
中文名
cstdio
別    名
C語言
類    別
計算機

cstdio使用方法

stdio.h是以往的C和C++的頭文件,cstdio是標準C++(STL),且cstdio中的函數都是定義在一個名稱空間std裏面的,如果要調用這個名字空間的函數,必須得加std::或者在文件中聲明using namespace std [2] 
#include<cstdio>

using 
namespace std;/*你也可以同時加上這個語句*/

cstdio頭文件內容

// -*- C++ -*- forwarding 
header.

// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.

// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.

//
// ISO C++ 14882: 27.8.2 C Library files
//

/** @file cstdio
 * This is a Standard C++ Library file. You should @c #include this file
 * in your programs, rather than any of the "*.h" implementation files.
 *
 * This is the C++ version of the Standard C Library header @cstdio.h,
 * and its contents are (mostly) the same as that header, but are all
 * contained in the namespace @cstd.
 */


#ifndef _GLIBCXX_CSTDIO
#define _GLIBCXX_CSTDIO 1


#pragma GCC system_header

#include <bits/c++config.h>
#include <cstddef>

#include <stdio.h>

// Get rid of those macros defined in <stdio.h> in lieu of real functions.

#undef clearerr
#undef fclose
#undef feof
#undef ferror
#undef fflush
#undef fgetc
#undef fgetpos
#undef fgets
#undef fopen
#undef fprintf
#undef fputc
#undef fputs
#undef fread
#undef freopen
#undef fscanf
#undef fseek
#undef fsetpos
#undef ftell
#undef fwrite
#undef getc
#undef getchar
#undef gets
#undef perror
#undef printf
#undef putc
#undef putchar
#undef puts
#undef remove
#undef rename
#undef rewind
#undef scanf
#undef setbuf
#undef setvbuf
#undef sprintf
#undef sscanf
#undef tmpfile
#undef tmpnam
#undef ungetc
#undef vfprintf
#undef vprintf
#undef vsprintf

namespace std
{
 using ::FILE;
 using ::fpos_t;
  using ::clearerr;
 using ::fclose;
 using ::feof;
 using ::ferror;
 using ::fflush;
 using ::fgetc;
 using ::fgetpos;
 using ::fgets;
 using ::fopen;
 using ::fprintf;
 using ::fputc;
 using ::fputs;
 using ::fread;
 using ::freopen;
 using ::fscanf;
 using ::fseek;
 using ::fsetpos;
 using ::ftell;
 using ::fwrite;
 using ::getc;
 using ::getchar;
 using ::gets;
 using ::perror;
 using ::printf;
 using ::putc;
 using ::putchar;
 using ::puts;
 using ::remove;
 using ::rename;
 using ::rewind;
 using ::scanf;
 using ::setbuf;
 using ::setvbuf;
 using ::sprintf;
 using ::sscanf;
 using ::tmpfile;
 using ::tmpnam;
 using ::ungetc;
 using ::vfprintf;
 using ::vprintf;
 using ::vsprintf;
}

#if _GLIBCXX_USE_C99


#undef snprintf
#undef vfscanf
#undef vscanf
#undef vsnprintf
#undef vsscanf

namespace __gnu_cxx
{
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
 
extern "C" int
 (snprintf)(char * 
restrict, 
size_t, 
const char * restrict, ...);
 extern "C" int
 (
vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list);
 extern "C" int (
vscanf)(const char * 
restrict, __gnuc_va_list);
 
extern "C" int
 (vsnprintf)(char * restrict, 
size_t, 
const char * restrict, __gnuc_va_list);
 extern "C" int
 (
vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list);

#endif
#if !_GLIBCXX_USE_C99_DYNAMIC
 using ::snprintf;
 using ::
vfscanf;
 using ::
vscanf;
 using ::vsnprintf;
 using ::vsscanf;
#endif
}


namespace std
{
 using __gnu_cxx::
snprintf;
 using __gnu_cxx::vfscanf;
 using __gnu_cxx::vscanf;
 using __gnu_cxx::vsnprintf;
 using __gnu_cxx::
vsscanf;
}

#endif

#endif
/*為了便於查看使用了全角空格" "*/

此文件來自C-Free 5 Professional [3] 
參考資料