fatal error C1083: Cannot open include file: 'stdlib': No such file or directory

想从新学C++,于是把那本<<C++大学教程>>从头来看。

 

运行第5章的洗牌例子,编译出了几个异常,如题,还有time.h这个头文件。

 

fatal error C1083: Cannot open include file: 'stdlib': No such file or directory

 

原来在C++里面要把stdlib改成cstdlib, time改成ctime。

 

结果在使用setW()方法的时候,又异常。原来要这样:std::setw(int);w要小写了。

 

把编译通过的源程序记录下来吧,方便以后回头看:

 

#include<iostream>
#include<iomanip>
#include<cstdlib>
#include<ctime>

using namespace std;

void shuffle(int [][13]);

void deal(const int [][13],const char *[],const char *[]);

int main(){
 const char *suit[4] = {"Hearts","Diamonds","Clubs","Spades"};
 const char *face[13] = {"Ace","Deuce","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"};

 int deck[4][13] = {0};

 srand(time(0));
 shuffle(deck);
 deal(deck,face,suit);
 return 0;
}

void shuffle(int wDeck[][13]){
 int row,column;
 for(int card = 1;card <= 52;card ++){
  do{
   row = rand() % 4;
   column = rand() % 13;
  }while(wDeck[row][column] != 0);
  wDeck[row][column] = card;
 }
}

void deal(const int wDeck[][13],const char *wFace[],const char *wSuit[]){
 for(int card = 1;card <= 52;card ++){
  for(int row = 0;row <= 3;row ++){
   for(int column = 0;column <= 12;column ++){
    if(wDeck[row][column] == card){
     cout << std::setw(5) << setiosflags(ios::right)
       << wFace[column] << " of "
       << setw(8) << setiosflags(ios::left)
       << wSuit[row]
       << (card % 2 == 0 ? '/n':'/t');
    }
   }
  }
 }
}

你可能感兴趣的:(ios,c,File,include)