Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;:获取当前目录中所有文件的大小 我是C++编程新手,我正在尝试读写文件。我正在尝试获取当前目录中所有文件的大小。问题是,在获得当前目录中文件的名称后,我将它们放在一个文本文件中。所以现在我被困住了,不知道从这里走到哪里 #include <iostream> #include <fstream> #include <algorithm> using namespace std; // FILE FUNCTION void fileStuff(){ } // MAIN FUNCTION int main(int argc, char const *argv[]) { // ERROR CHECKING if(argc != 3){ // IF USER DOESN'T TYPE ./nameOfFile, AND THE OTHER REQUIRED ARGUMENTS. cout << "Incorrect. Try Again" << endl; exit(-1); } ifstream file; string fileContents; system("find . -type f > temp.txt"); file.open("temp.txt"); if (!file){ cout << "Unable to open file: temp.txt" << endl; exit(-1); } while(file){ getline(file, fileContents); cout << fileContents << endl; } file.close(); return 0; } #包括 #包括 #包括 使用名称空间std; //文件功能 void filestaff(){ } //主要功能 int main(int argc,char const*argv[] { //错误检查 if(argc!=3){//if用户未键入./nameOfFile和其他必需参数。 cout_C++_Filesize - Fatal编程技术网

C++;:获取当前目录中所有文件的大小 我是C++编程新手,我正在尝试读写文件。我正在尝试获取当前目录中所有文件的大小。问题是,在获得当前目录中文件的名称后,我将它们放在一个文本文件中。所以现在我被困住了,不知道从这里走到哪里 #include <iostream> #include <fstream> #include <algorithm> using namespace std; // FILE FUNCTION void fileStuff(){ } // MAIN FUNCTION int main(int argc, char const *argv[]) { // ERROR CHECKING if(argc != 3){ // IF USER DOESN'T TYPE ./nameOfFile, AND THE OTHER REQUIRED ARGUMENTS. cout << "Incorrect. Try Again" << endl; exit(-1); } ifstream file; string fileContents; system("find . -type f > temp.txt"); file.open("temp.txt"); if (!file){ cout << "Unable to open file: temp.txt" << endl; exit(-1); } while(file){ getline(file, fileContents); cout << fileContents << endl; } file.close(); return 0; } #包括 #包括 #包括 使用名称空间std; //文件功能 void filestaff(){ } //主要功能 int main(int argc,char const*argv[] { //错误检查 if(argc!=3){//if用户未键入./nameOfFile和其他必需参数。 cout

C++;:获取当前目录中所有文件的大小 我是C++编程新手,我正在尝试读写文件。我正在尝试获取当前目录中所有文件的大小。问题是,在获得当前目录中文件的名称后,我将它们放在一个文本文件中。所以现在我被困住了,不知道从这里走到哪里 #include <iostream> #include <fstream> #include <algorithm> using namespace std; // FILE FUNCTION void fileStuff(){ } // MAIN FUNCTION int main(int argc, char const *argv[]) { // ERROR CHECKING if(argc != 3){ // IF USER DOESN'T TYPE ./nameOfFile, AND THE OTHER REQUIRED ARGUMENTS. cout << "Incorrect. Try Again" << endl; exit(-1); } ifstream file; string fileContents; system("find . -type f > temp.txt"); file.open("temp.txt"); if (!file){ cout << "Unable to open file: temp.txt" << endl; exit(-1); } while(file){ getline(file, fileContents); cout << fileContents << endl; } file.close(); return 0; } #包括 #包括 #包括 使用名称空间std; //文件功能 void filestaff(){ } //主要功能 int main(int argc,char const*argv[] { //错误检查 if(argc!=3){//if用户未键入./nameOfFile和其他必需参数。 cout,c++,filesize,C++,Filesize,(尤其是早期版本)不知道和。对于C++17,请参阅其。否则,您的代码是特定于操作系统的,但Boost库有一些 我假设您运行的是Linux或某些POSIX系统 你的程序只使用一个外部命令();如果你想从这样的命令中读取数据,你可以使用pclose,这样你就不需要临时文件了。顺便说一句,你可以使用find.-type f-ls 但是,您不需要使用外部命令,避免这种情况更安全(更快) 迂腐地说,文件名可以包含换行符,并且您需要使用这种特殊情况。文件名还可以包含制表符(或其他控制字符)在这种情况下,fi

(尤其是早期版本)不知道和。对于C++17,请参阅其。否则,您的代码是特定于操作系统的,但Boost库有一些

我假设您运行的是Linux或某些POSIX系统

你的程序只使用一个外部命令();如果你想从这样的命令中读取数据,你可以使用
pclose
,这样你就不需要临时文件了。顺便说一句,你可以使用
find.-type f-ls

但是,您不需要使用外部命令,避免这种情况更安全(更快)

迂腐地说,文件名可以包含换行符,并且您需要使用这种特殊情况。文件名还可以包含制表符(或其他控制字符)在这种情况下,
find.-typef
表现得很特别,你还需要特殊的case。实际上,它的品味非常差,文件名中不太可能有换行符或制表符,你可能会忘记这些奇怪的情况

您可以使用。您可以递归地使用&loop on(以及稍后的
closedir

一旦你有了一个文件路径,你就可以使用它来获取该文件的元数据,包括它的大小(field
st_size
)。顺便说一下
/bin/ls
/usr/bin/find
程序使用它

该函数返回一个以
d_name
结尾的
struct dirent
指针;您可能希望跳过
的两个条目。
(因此使用来与
进行比较。“
,或者通过艰难的方式进行比较)。然后,您将使用字符串链接构建完整的文件路径。您可以使用(在正版C++中),也可以使用或。如果您
readdir
当前目录
,您可以直接调用
d_name
字段


顺便说一句,
exit(-1)
是不正确的(当然品味也很差)。请参阅。更可读的替代方法是
exit(exit\u失败)

您可能会将它们放在文本文件中,然后…?接下来要做什么?在我将这些文件放在文本文件中之后,我希望能够输出这些文件的大小。
fileContents
是其中一个文件的名称。打开它并计算字符数。