2013-09-03 2 views
0

Я новичок в программировании. У меня было программное обеспечение tcms, которое может экспортировать все данные в файл .txt. Я хочу вывести файл .txt на консоли C++ (точно так же, как в файле .txt). Но все, что я могу сделать, это. Может кто-нибудь мне помочь? Вот мой код:вывод текста в .txt файл в консоль C++

#include <iostream> 
#include <iomanip> 
#include <iomanip> 
#include <fstream> 
#include <string> 
#include <stdlib.h> 

using namespace std; 

int main() { 
    string x; 
    ifstream inFile; 

    inFile.open("TEXT1.txt"); 
    if (!inFile) { 
     cout << "Unable to open file"; 
     exit(1); // terminate with error 
    } 

    while (inFile >> x) { 
     cout << x << endl ; 
    } 

    inFile.close(); 
} 

TEXT1.txt (а выход я по желанию) является

WLC013 SIN LEI CHADMIN DEPA  0  0.00  0.00 0.00 0.00  2.00 
WLC008 NAI SOO CHADMIN DEPA  0  0.00  0.00 0.00 0.00  2.00 
WLC017 SYLVESTER ADMIN DEPA  0  0.00  0.00 0.00 0.00  2.00 
WLC004 CHANG KUEIADMIN DEPA  0  0.00  0.00 0.00 0.00  2.00 

Но я получаю выход, как этот

WLC013  
SIN LEI CHADMIN DEPA   
0  
0.00  
0.00  
0.00  
0.00  
2.00  
WLC008  
NAI SOO CHADMIN DEPA   
... 

И можно редактировать текстовый файл и добавить в заголовок для каждого столбца? Спасибо!

ответ

2

Вы читаете файл слово за словом, вам нужно читать строки за строкой, чтобы получить желаемый результат.

while (getline(inFile,x)) { 
cout << x << endl ; 
} 

Для добавления заголовка/заголовка или лучшего форматирования см setw

Выход его на консоли, а затем вы можете просто использовать перенаправление вывода > в файл.

Допустим, имя источника test.cpp

./test > new_file.txt (Linux)

или

test.exe > new_file.txt (окна)

Это простой подход. Могут быть и другие способы.

0
#include "stdafx.h" 
#include <iostream> 
#include <string> 
#include <fstream> 

int main() 
{ 
char directory[_MAX_PATH + 1]; 
char filename[_MAX_PATH + 1]; 

std::cout << "Please provide a directory Path: "; 
std::cin.getline(directory, _MAX_PATH); 

std::cout << "\nPlease provide a name for file: "; 
std::cin.getline(filename, _MAX_PATH); 

strcat(directory, filename); 

std::ofstream file_out(directory); 

if (!file_out) { 
    std::cout << "Could not open."; 
    return -1; 
} 

    std::cout << directory << "Was created\n"; 
    for (int i = 0; i <= 5; ++i) { 
     std::cout << "(Press ENTER to EXIT): Please enter a line of text you 
     would like placed, in the document: "; 
     char nest[100], *p; 
     std::cin.getline(nest, _MAX_PATH); 
     p = strtok(nest, "\n|\t|\r"); 

     while (p != nullptr) { 
      p = strtok(nullptr, " "); 
      std::cout << " The line ("; 
      file_out << nest << std::endl; 
      std::cout << ")Line was successfully added.\n"; 
     } 

    } 
    file_out.close(); 
    return 0; 
} 
+1

Добро пожаловать в StackOverflow! Пожалуйста, добавьте в свои ответы пояснительный текст с кодом. – catbadger

Смежные вопросы