Kỹ thuật C++ Cách sử dụng hàm so sánh strincmp như thế nào? [Archive] – Cộng đồng C Việt

View Full Version : Kỹ thuật C++ Cách sử dụng hàm so sánh strincmp như thế nào?

legendluan

mọi người ai biết sử dụng hàm strincmp hướng dẫn giúp với . Với đoạn code so sánh các từ nhập vào xem từ nào lớn nhất và nhỏ nhất theo từ điển, mình sử dụng hàm strincmp không chạy nhưng với hàm strcmp thì ok,ai biết thì sửa giúp lổi này với:
#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
char word[100],st1[100],st2[100];
printf(“Nhap 1 tu: “);
gets(word);
strcpy(st1,word);
strcpy(st2,word);
do
{
printf(“Nhap 1 tu: “);
gets(word);
if(strincmp(st1,word,100)>0) strcpy(st1,word);
if(strincmp(st2,word,100)<0) strcpy(st2,word);
}
while (strlen(word)!=4);
printf(“Smallest_word: %s”,st1);
printf(“\nLergest_word: %s”,st2);
getch();
}

clamvn

làm gì có hàm strincmp() chỉ có strncmp() thôi
tham khảo (http://www.cplusplus.com/reference/clibrary/cstring/strncmp/)

bạn dùng strncmp(st1,word,100);
Nếu st1 và word ko dc 100 chữ thì lấy đâu ra cho bạn so sánh ? hay nếu st1 và word có trên 100 chữ và có 100 chứ đầu giống nhau thì sao ? ( nếu st1 khác word )

legendluan

sao lại không có hàm strincmp() , hàm này là hàm so sánh chung nhất ,nó tổng hợp tất cả các hàm so sánh kia lại mà (strcmp,strncmp,stricmp) . Bài này mình đã sữa lại dùng hàm stricmp rồi , rất là ok. thank bạn đã góp ý.

xuyenit55

sao lại không có hàm strincmp() , hàm này là hàm so sánh chung nhất ,nó tổng hợp tất cả các hàm so sánh kia lại mà (strcmp,strncmp,stricmp) . Bài này mình đã sữa lại dùng hàm stricmp rồi , rất là ok. thank bạn đã góp ý.

bạn đọc dòng này của anh clamvn này !

Nếu st1 và word ko dc 100 chữ thì lấy đâu ra cho bạn so sánh ? hay nếu st1 và word có trên 100 chữ và có 100 chứ đầu giống nhau thì sao ? ( nếu st1 khác word )

ps : hàm stricmp so sánh n kí tự đầu tiên của 2 chuỗi nên số kí tự trong 2 chuỗi phải lớn hơn hoặc = n nhé !

clamvn

sao lại không có hàm strincmp() , hàm này là hàm so sánh chung nhất ,nó tổng hợp tất cả các hàm so sánh kia lại mà (strcmp,strncmp,stricmp) . Bài này mình đã sữa lại dùng hàm stricmp rồi , rất là ok. thank bạn đã góp ý.

Xin lỗi vì chưa gì đã nói ko tồn tại, mà phải nói là nó ko tồn tại trong thư viện C standard.

stricmp() và strcmp() khác xa nhau bạn à. vì vậy nên strincmp() cũng sẽ khác strncmp(). Khác như thế nào thì tìm hiểu thử xem.

bạn nên sửa bài lại là (theo code của bạn )

strincmp(st1,word, strlen(word))