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

Đề tài: Lỗi khi xóa dấu trắng ở đầu và cuối xâu

  1. #1
    Ngày gia nhập
    06 2007
    Bài viết
    21

    Mặc định Lỗi khi xóa dấu trắng ở đầu và cuối xâu

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    void main() {
    	char s[100];
    	char *s1;
    	int i;
    	clrscr();
    	printf("String Cleaner\n");
    	printf("==============\n");
    	printf("String to be Cleaned : ");
    	gets(s);
    
    
    	s1=strstr(s,"  ");
    	while (s1)
    		{ strcpy(s1,s1+1); // copy chuoi tu dia chi s1+1 sang chuoi o dia chi s1 ( dich ve phia trai 1 ky tu )
    		  s1=strstr(s,"  ");
    		}
    
    	if (s[0]==' ') strcpy(&s[0],&s[i]);
    
    	if ( s[strlen(s)-1] ==' ')
    		{ s[strlen(s)-1]='\0';}
    
    	printf("Cleaned string : %s", s);
            getch();
    }
    Mình có đoạn code trên, chuẩn hóa xâu, nhưng khi mình có cách ở đầu hoặc cuối xâu thì nó toàn báo lỗi.
    Con đường hạnh phúc của mỗi người là khác nhau.

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

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4. void main() {
    5.     char s[100];
    6.     char *s1;
    7.     int i;
    8.     clrscr();
    9.     printf("String Cleaner\n");
    10.     printf("==============\n");
    11.     printf("String to be Cleaned : ");
    12.     gets(s);
    13.  
    14.  
    15.     s1=strstr(s,"  ");
    16.     while (s1)
    17.     {
    18.         s1=NULL;
    19.         s1=strstr(s,"  ");
    20.         if(s1)
    21.             strcpy(s1,s1+1); // copy chuoi tu dia chi s1+1 sang chuoi o dia chi s1 ( dich ve phia trai 1 ky tu )
    22.     }
    23.  
    24.     if (s[0]==' ') strcpy(&s[0],&s[1]);
    25.  
    26.     if ( s[strlen(s)-1] ==' ')
    27.         { s[strlen(s)-1]='\0';}
    28.  
    29.     printf("Cleaned string :%s.", s);
    30.         getch();
    31. }
    code ra gió bão

  3. #3
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    xin đóng góp 1 ý tưởng

    PHP Code:
    void xoakitu(int vitri int soluong char xau[])
        {
            if (
    vitri+soluong-1>strlen(xau)) xau[0]=NULL;
            else
            {
               while (
    xau[vitri+soluong]!=NULL)
                  {
                
    xau[vitri]=xau[vitri+soluong];
                
    vitri++;
                  }
               
    xau[vitri]=NULL;
            }
        } 

    sau đó:
    PHP Code:
    while (xau[0]==32xoakitu(0,1,xau);
     
    // trong khi xâu tại 0 là cách thì xóa 1 kí tự tại vị trí 0 trong xâu 

    PHP Code:
    while (xau[strlen(xau)-1]==32xoakitu(strlen(xau)-1,1,xau); 
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

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

  1. Hàm xóa khoảng ở đầu chuỗi không xóa hết khoảng trắng
    Gửi bởi taymonquang trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 5
    Bài viết cuối: 07-11-2011, 01:01 PM
  2. Lỗi khi xóa khoảng trắng ở cuối câu.
    Gửi bởi thanhtung_tn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 28-05-2011, 04:32 PM
  3. Đề xuất Xóa những topic tạo ra đã lâu nhưng chưa có ai trả lời
    Gửi bởi Click8A4 trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 9
    Bài viết cuối: 03-05-2011, 02:12 PM
  4. Xóa kí tự khoảng trắng thừa
    Gửi bởi lordk trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 04-12-2010, 12:02 AM
  5. Cho hỏi cách xóa ma trận con trỏ
    Gửi bởi mrsku121 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 08-12-2009, 05:11 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