Я создал один класс врача, и я хочу вставить данные доктора в файл заметок (Doctor.txt), но данные не имеют симметрии, потому что нет фиксированной длины мои входы в линии ...исправить ширину столбца в .txt файле с помощью C++
int DocID;
string Name,Department,Specification,Address,PhNo ;
Doctor D;
ofstream myfile;
myfile.open ("Doctor.txt",ios::app);
cout<<"please enter doctor ID: ";
cin>> DocID;
cout<<"please enter doctor Name: ";
cin>> Name;
cout<<"please enter doctor Department name: ";
cin>> Department;
cout<<"please enter doctor specification: ";
cin>> Specification;
cout<<"please enter doctor Address: ";
cin>> Address;
cout<<"please enter doctor Phone Number: ";
cin>> PhNo;
D.set_data(DocID,Name,Department,Specification,Address,PhNo);
myfile <<endl<<D.get_DocID()<<" "<<D.get_Name()<<" "<<D.get_Department()<<" "<<D.get_Specification()<<" "<<D.get_Address()<<" "<<D.get_PhNo();
myfile.close();
как я могу генерировать симметричный файл .txt, используя фиксированную ширину столбцов входов
Если файл Doctor.txt длинный, то, возможно, не рекомендуется проверять каждую запись в нем, переформатировать запись и записать ее снова. Итак, если бы я был вами, моя основная проблема не была бы фиксированными. Было бы «что, если имя доктора имеет место в его/ее имени?» потому что вы используете пространство для разделения переменных. Это вызывает путаницу. –
«Использовать основные математические данные» приходит на ум. Хотя вы также можете изучить Манипуляторы ввода-вывода. jnbrq имеет смысл, хотя, вероятно, вам следует сделать правильный, хорошо сформированный CSV, если вы хотите, чтобы ваш формат имел практическое применение. –
@ jnbrq-CanberkSönmez, как будут обрабатываться пространства? .. Я думаю, было бы лучше ввести «-» вместо пробелов между записями. –