2015-09-30 7 views
2

Я создал один класс врача, и я хочу вставить данные доктора в файл заметок (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, используя фиксированную ширину столбцов входов

+1

Если файл Doctor.txt длинный, то, возможно, не рекомендуется проверять каждую запись в нем, переформатировать запись и записать ее снова. Итак, если бы я был вами, моя основная проблема не была бы фиксированными. Было бы «что, если имя доктора имеет место в его/ее имени?» потому что вы используете пространство для разделения переменных. Это вызывает путаницу. –

+0

«Использовать основные математические данные» приходит на ум. Хотя вы также можете изучить Манипуляторы ввода-вывода. jnbrq имеет смысл, хотя, вероятно, вам следует сделать правильный, хорошо сформированный CSV, если вы хотите, чтобы ваш формат имел практическое применение. –

+0

@ jnbrq-CanberkSönmez, как будут обрабатываться пространства? .. Я думаю, было бы лучше ввести «-» вместо пробелов между записями. –

ответ

1

Вы могли бы искать для setw шириной функции манипулятора, предоставленной <iomanip> заголовочного файла и использовать его до или после или, тем не менее, вы хотите записать каждую запись в файл.