Ghi file bỏ dấu cách

Em chào mn,mọi người cho em hỏi làm sao để khi mình đọc file ra nó không đọc dấu cách ạ.
code của em như sau

int docFile(NV a[], char fileName[]) {
    FILE * fp;
    int i = 0;
    fp = fopen (fileName, "r");
    while (fscanf(fp, "%s%30s%5d%10s%10s\n",&a[i].maNV, &a[i].ten,&a[i].tuoi,
                  &a[i].adress,&a[i].part ) != EOF) {
       i++;
    }
    cout << " So luong Nhan vien co san trong file la: " << i << endl;
    fclose (fp);
    return i;
}

void ghiFile(NV a[], int n, char fileName[]) {
    FILE * fp;
    fp = fopen (fileName,"w");
    for(int i = 0;i < n;i++){
        fprintf(fp, "%s%30s%5d%10s%10s\n",a[i].maNV, a[i].ten,
            a[i].tuoi,a[i].adress,a[i].part);
    }
    fclose (fp);
}

nếu nhập tên liền nhau thì in ra được đúng, còn khi em nhập có dấu cách vd:Nguyen Van A thì ghi ra bị lỗi ạ.
Cảm ơn mọi ngườia

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Vì dấu cách là separator của scan format mà. :v

Và nếu nó lấy dấu cách thì theo bạn sao nó không cho hết cả dòng mà chỉ lấy đúng phần của nó

Như trên của bạn file có dòng là:

123 nguyen van a 1999 hanoi qtv

Thì bạn kêu nó lấy cả dấu cách thì tên phải là nguyen van a 1999 hanoi qtv chứ, sao có nguyen van a không được. :smiley:


Giải pháp thô là ngăn cách từng trường bằng ký tự đặc biệt (như | chẳng hạn).

123|nguyen van a|1999|hanoi|qtv

Còn việc đọc sao cho được file này là việc của bạn. :slightly_smiling_face:

3 Likes

Dạ vâng em cảm ơn ạ

:heart:

Đừng cảm ơn mình làm gì, chỉ hóng bạn làm xong rồi post lên cho các bạn khác cùng thắc mắc xem thôi. (có mình trong đó :V)

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