⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 list3-17.cpp

📁 这是关于VC++中的STL容器的资料,包括了STL容器各个类之间关系以及类的说明
💻 CPP
字号:

// Listing 3-18
// This program  shows how manipulators are
// used with the iostreams

#include <iostream>
#include <sys/stat.h>
#include <dirent.h>       // Requires POSIX compatibility
#include <string.h>
#include <dir.h>
#include <time.h>
#include <iomanip.h>

int main(int Argc,char *Argv[])
{
     if(Argc == 2){
	DIR *Directory;
	Directory = opendir(Argv[1]);
	chdir(Argv[1]);
	if(!Directory == NULL){
	   float DirectorySize = 0;
	   struct dirent *Entry;
	   struct stat Buffer;
	   Entry = readdir(Directory);
	   while(Entry != NULL)
	   {
		 if (stat(Entry->d_name,&Buffer) == 0){
		     DirectorySize = DirectorySize + Buffer.st_size;
		 }
		 else{
		      cerr << "could not stat " << Entry->d_name << endl;
		 }
		 Entry = readdir(Directory);
	   }
	   rewinddir(Directory);
	   cout << "\f";
	   cout.precision(4);
	   Entry = readdir(Directory);
	   while(Entry != NULL)
	   {
		cout<< setiosflags(ios_base::left | ios_base::fixed);
		cout << setfill('*') << setw(20);
		stat(Entry->d_name,&Buffer);
		cout << Entry->d_name << "\t" << setw(12);
		cout << setiosflags(ios::right) << setfill(' ');
		cout << dec << Buffer.st_size << "\t " << setw(12);
        cout << setiosflags(ios::right) << setfill(' ');
		cout << hex << Buffer.st_size << "\t" << setw(9);
		cout << setiosflags(ios::right) << showpoint << setfill(' ');
		cout << (Buffer.st_size / DirectorySize * 100) << '%' << "\t";
		cout << setw(9) << setiosflags(ios_base::right) << scientific;
        cout << setfill(' ') << (Buffer.st_size / DirectorySize * 100) << '%' << "\t";
		cout << setw(12) << setiosflags(ios_base::left);
		cout << ctime(&Buffer.st_atime) << endl;
		Entry = readdir(Directory);
	   }
	   cout << setprecision(0);
	   cout << setiosflags(ios_base::oct | ios_base::fixed);
	   cout << "Directory Size: " << DirectorySize << endl;
	}
	else{
	      cerr << "could not open " << Argv[1] << endl;
	}
	closedir(Directory);
	return(1);
     }
     return(0);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -