Cách nhập xuất với file trong C++?

tình hình là thế này:mình có thử đoạn code lấy dữ liệu từ một file text in ra màn hình trong file đó có tên và ngày sinh.khi lấy dữ liệu vs đoạn code này thì bị lỗi.mình hiểu là nó coi khoảng trắng là số 0.có cách nào lấy ra hết dữ liệu ko nhỉ?

#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string>
using namespace std;

main(){
    ifstream f;
    f.open("test.txt");
    if(!f){
    cout<<"khong the mo tep"<<endl;
    exit(0);
    }
    int i=0,so;
    string ten,
    while(!f.eof()){
    f>>ten;
    cout<<ten;
    i++;
    }
    system("pause");
}
1 Like

Bạn xem lại cách trình bày code ở đây để trình bày lại nhé :smile:

1 Like

#SAI

Khoẳng trắng là 32. Số 0 là kết thúc chuỗi.

#include <stdio.h>

int main()
{
    char c = ' '; // khoảng trắng
    printf("%d\n", c); // sẽ in ra 32
    return 0;
}

Còn đây là ví dụ đọc file:

#include <fstream>
#include <iostream>
using namespace std;
 
int main ()
{
    
   char data[100];

   // open a file in write mode.
   ofstream outfile;
   outfile.open("afile.dat");

   cout << "Writing to the file" << endl;
   cout << "Enter your name: "; 
   cin.getline(data, 100);

   // write inputted data into the file.
   outfile << data << endl;

   cout << "Enter your age: "; 
   cin >> data;
   cin.ignore();
   
   // again write inputted data into the file.
   outfile << data << endl;

   // close the opened file.
   outfile.close();

   // open a file in read mode.
   ifstream infile; 
   infile.open("afile.dat"); 
 
   cout << "Reading from the file" << endl; 
   infile >> data; 

   // write the data at the screen.
   cout << data << endl;
   
   // again read the data from the file and display it.
   infile >> data; 
   cout << data << endl; 

   // close the opened file.
   infile.close();

   return 0;
}

Nguồn: http://www.tutorialspoint.com/cplusplus/cpp_files_streams.htm

với đoạn code như trên .mình tạo một file trong đó có thế này:nguyen dinh khai 111; và kết quả nó in ra là:nguyen0 mà không in ra hết???

Đoạn code trên chạy ổn mà? Mình sửa lại 1 ít thì chạy ổn.

#include<iostream>
#include<fstream>
#include<string>

using namespace std;

int main()
{
    ifstream f;
    f.open("test.txt");
    if(!f)
    {
        cout<<"khong the mo tep"<<endl;
        return 1;
    }
    int i=0,so;
    string ten;
    while(!f.eof())
    {
        f >> ten;
        cout << ten << " ";
        i++;
    }
    return 0;
}

đang vọc fstream sẽ có 1 bài chi tiết về resize và push back ở dạng wiki

1 Like

Với những dạng này bạn nên ghi theo kiểu nhị phân (ghi cấu trúc) sẽ làm tốt hơn đấy.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?