Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: hỏi cách tạo lênh copy con

  1. #1
    Ngày gia nhập
    09 2006
    Bài viết
    20

    Mặc định hỏi cách tạo lênh copy con

    mình muốn tạo lệnh copy con
    khi tạo xong muốn kết thúc nhấn F6.

    mình dùng char temp[100] đề lấy từng chuổi
    gets(temp);
    nhưng mình kô biết làm sao để nhận phím F6(control-Z) để kết thúc

  2. #2
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi trieuanhl Xem bài viết
    mình muốn tạo lệnh copy con
    khi tạo xong muốn kết thúc nhấn F6.

    mình dùng char temp[100] đề lấy từng chuổi
    gets(temp);
    nhưng mình kô biết làm sao để nhận phím F6(control-Z) để kết thúc
    Mình cho bạn chương trình mẫu: xây dựng chương trình tạo tập tin văn bản, trong đó tên tập tin được nhập trên dòng lệnh. Kết thúc khi nhấn Ctrl+Z hoặc F6
    Code:
     int main(int n, char * a[]) //n là số đối số trên dòng lệnh kể cả tên chương trình a[0]
      {     FILE *fp;   char st[80];      int sobyte=0;
      if (n != 2) { puts("Loi cu phap: "); exit(1); }
      fp = fopen(a[1], "wt");
      while ( gets(st)) != NULL)  //hàm gets(st) trả về NULL khi có lỗi hoặc ấn F6
      { fputs( st, fp);   fputs("\n", fp);
      sobyte+=strlen(st); 
      }
      printf("\n\t  1 file copy \t\t %d bytes ", sobyte);
      fclose(fp);
      }

  3. #3
    Ngày gia nhập
    09 2006
    Bài viết
    20

    cám ơn neverlan87 nhiều!!!
    nhưng cho mình hỏi đôi chút
    1>tại sao lại là char st[80], sao kô là 100, vì lý do lúc đọc file sẽ nhanh hơn hay vì bạn thích vậy thôi
    2>chương trình của bạn chỉ cho kết thúc file khi nhập ^Z ở đầu dòng thôi
    VD1:
    hôm nay trời đẹp
    ^Z=>két thúc file
    VD2:
    hôm nay trời đẹp^Z=>không két thúc file, lúc này mình nhập gì vào cũng được, nhưng sẽ kết thúc file nếu nhập thêm ^Z lần nữa
    có cách khắc phục không vậy bạn

  4. #4
    Ngày gia nhập
    04 2007
    Bài viết
    16

    char st[80] theo mình biết màn hình tối đa chỉ có 80 kí tự nếu nhiều hơn thì đâu có được
    còn cách khắc phục thì mình đang tìm hiểu

  5. #5
    Ngày gia nhập
    04 2007
    Bài viết
    2

    Code:
    #include <iostream.h>
    #include <conio.h>
    
    int main () {
    	char *cS = new char [1024];
    	
    	cin.getline(cS,1024);
    
    	while ( cin.eof() == NULL) {
    		cout << "Ban vua moi nhap : "<< cS << endl;
    		cin.getline(cS,1024);
    	}
    	
    	getche();
    	return 0;
    }
    Dù màn hình chỉ có 80 kí tự , nhưng người ta không muốn enter thì sao, khi quá 80 rồi thì nó sẽ tự xuống dòng , và nhập tiếp vô tư mà

    còn về vấn đề của trieuanhl , thì cho 1 cái vòng for , nếu gặp ^Z thì quit thôi

  6. #6
    Ngày gia nhập
    04 2007
    Bài viết
    16

    Mặc định hỏi cách tạo lênh copy con

    ko phải khi mà bạn nhập vào tới kí tự 80 thì gặp kí tự xuống dòng do đó nó kết thúc
    chuỗi xuống dòng là qua chuỗi mới rồi
    khai báo thừa cũng vậy
    thử bạn khai báo ít hơn 80 thử xem vào đánh hơn 80 kí tự

Các đề tài tương tự

  1. thắc mắc về copy file và kiểm tra tiến trình copy
    Gửi bởi RoboWonder trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 27-03-2016, 07:15 PM
  2. ADO.NET Hàm Copy file trong c#,copy thiếu dữ liệu
    Gửi bởi gatrongpro trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 08-12-2013, 09:40 PM
  3. Kỹ thuật C Lỗi khi dùng 1 dấu bằng trong lênh IF
    Gửi bởi hoangsonk49 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 18-07-2013, 01:11 PM
  4. [Hỏi] Copy thiếu khi copy nhiều file
    Gửi bởi toi_loi_acon trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 10-07-2012, 11:02 AM
  5. Firefox Lỗi: Phải nhấn Ctrl+C hoặc Copy 2 lần mới copy được văn bản.
    Gửi bởi Kevin Hoang trong diễn đàn Thắc mắc chung
    Trả lời: 3
    Bài viết cuối: 17-01-2011, 11:17 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn