Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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++的代码< FS> fStase/Cuff>函数添加文件,但是我的一个字段调用名称不在文件内显示,以及在我的缓冲区中没有听到,是代码,请给我一些调试这种问题的提示。一般来说,我真的无法调试这种问题 #include <iostream> #include <fstream> #include <string.h> #include <stdlib.h> using namespace std; class student { char usn[3]; char name[10]; char age[5]; char buf[25]; public: void pack(); void unpack(); void searh(); void add(); void dele(); }s; void student::pack() { strcpy(buf,usn); strcat(buf,"|"); strcat(buf,name); strcat(buf,"|"); strcat(buf,age); for (int i=strlen(buf);i<20;i++) strcat(buf,"#"); } void student::unpack() { strcpy(usn,strtok(buf,"|")); strcpy(name,strtok(NULL,"|")); strcpy(age,strtok(NULL,"#")); } void student::add() { cout << " give student's details \n"; cout << "name : \n"; cin >> name; cout << "usn : \n"; cin >> usn; cout << "age : \n"; cin >> age; pack(); fstream fout; fout.open("student.txt",ios::in); cout << buf; fout << buf; } int main() { cout << "main"; s.add(); } #包括 #包括 #包括 #包括 使用名称空间std; 班级学生 { char-usn[3]; 字符名[10]; 炭龄[5]; char-buf[25]; 公众: 空包(); 无效解包(); void searh(); 无效添加(); void dele(); }s; void student::pack() { strcpy(美国海军陆战队基地); strcat(buf,“|”); strcat(buf,名称); strcat(buf,“|”); strcat(buf,年龄); 对于(int i=strlen(buf);i usn; 年龄; 包装(); fstream-fout; fout.open(“student.txt”,ios::in); cout_C++_File - Fatal编程技术网

我试图使用c++。但是我被卡住了谁能帮我调试这个 我试图用C++的代码< FS> fStase/Cuff>函数添加文件,但是我的一个字段调用名称不在文件内显示,以及在我的缓冲区中没有听到,是代码,请给我一些调试这种问题的提示。一般来说,我真的无法调试这种问题 #include <iostream> #include <fstream> #include <string.h> #include <stdlib.h> using namespace std; class student { char usn[3]; char name[10]; char age[5]; char buf[25]; public: void pack(); void unpack(); void searh(); void add(); void dele(); }s; void student::pack() { strcpy(buf,usn); strcat(buf,"|"); strcat(buf,name); strcat(buf,"|"); strcat(buf,age); for (int i=strlen(buf);i<20;i++) strcat(buf,"#"); } void student::unpack() { strcpy(usn,strtok(buf,"|")); strcpy(name,strtok(NULL,"|")); strcpy(age,strtok(NULL,"#")); } void student::add() { cout << " give student's details \n"; cout << "name : \n"; cin >> name; cout << "usn : \n"; cin >> usn; cout << "age : \n"; cin >> age; pack(); fstream fout; fout.open("student.txt",ios::in); cout << buf; fout << buf; } int main() { cout << "main"; s.add(); } #包括 #包括 #包括 #包括 使用名称空间std; 班级学生 { char-usn[3]; 字符名[10]; 炭龄[5]; char-buf[25]; 公众: 空包(); 无效解包(); void searh(); 无效添加(); void dele(); }s; void student::pack() { strcpy(美国海军陆战队基地); strcat(buf,“|”); strcat(buf,名称); strcat(buf,“|”); strcat(buf,年龄); 对于(int i=strlen(buf);i usn; 年龄; 包装(); fstream-fout; fout.open(“student.txt”,ios::in); cout

我试图使用c++。但是我被卡住了谁能帮我调试这个 我试图用C++的代码< FS> fStase/Cuff>函数添加文件,但是我的一个字段调用名称不在文件内显示,以及在我的缓冲区中没有听到,是代码,请给我一些调试这种问题的提示。一般来说,我真的无法调试这种问题 #include <iostream> #include <fstream> #include <string.h> #include <stdlib.h> using namespace std; class student { char usn[3]; char name[10]; char age[5]; char buf[25]; public: void pack(); void unpack(); void searh(); void add(); void dele(); }s; void student::pack() { strcpy(buf,usn); strcat(buf,"|"); strcat(buf,name); strcat(buf,"|"); strcat(buf,age); for (int i=strlen(buf);i<20;i++) strcat(buf,"#"); } void student::unpack() { strcpy(usn,strtok(buf,"|")); strcpy(name,strtok(NULL,"|")); strcpy(age,strtok(NULL,"#")); } void student::add() { cout << " give student's details \n"; cout << "name : \n"; cin >> name; cout << "usn : \n"; cin >> usn; cout << "age : \n"; cin >> age; pack(); fstream fout; fout.open("student.txt",ios::in); cout << buf; fout << buf; } int main() { cout << "main"; s.add(); } #包括 #包括 #包括 #包括 使用名称空间std; 班级学生 { char-usn[3]; 字符名[10]; 炭龄[5]; char-buf[25]; 公众: 空包(); 无效解包(); void searh(); 无效添加(); void dele(); }s; void student::pack() { strcpy(美国海军陆战队基地); strcat(buf,“|”); strcat(buf,名称); strcat(buf,“|”); strcat(buf,年龄); 对于(int i=strlen(buf);i usn; 年龄; 包装(); fstream-fout; fout.open(“student.txt”,ios::in); cout,c++,file,C++,File,看起来您正在以输入模式-ios::in打开似乎要写入的文件 另外,我会在buf中留出更多空间。您已在读取模式下打开文件: fstream fout; fout.open("student.txt",ios::in); 所以你不能这样做: fout << buf; 这也是fstream的默认设置,因此您可以将其缩写为: fout.open( "student.txt"); 最好不要将整个标准名称空间都纳入范围。任何人都能给你的最好的调试技巧是一步一步地检查程序的每一行代码,看看变

看起来您正在以输入模式-ios::in打开似乎要写入的文件


另外,我会在buf中留出更多空间。

您已在读取模式下打开文件:

fstream fout;
fout.open("student.txt",ios::in);
所以你不能这样做:

fout << buf;
这也是fstream的默认设置,因此您可以将其缩写为:

fout.open( "student.txt");

最好不要将整个标准名称空间都纳入范围。

任何人都能给你的最好的调试技巧是一步一步地检查程序的每一行代码,看看变量的值是如何变化的。这不仅有助于你理解代码是如何工作的,而且会让你痛苦地发现哪里出了问题。(最好在提问之前做这个,这样你可以问一个更具体、更详细的问题)。首先,你打开代码> fOut阅读(<代码> iO::在< /COD>)而不是编写(<代码> iO::OUT/COD>)。你是混合C和C++,这导致非常糟糕的代码。在C++中,不要使用<代码> Struc[f]。和其他类似的字符串处理函数……除非您知道如何澄清:可以将
std
拖动到源文件的作用域中。
fout.open( "student.txt");