比較方法: 1. bcmp()、文字列の最初の n バイトが等しいかどうかを比較します; 2. strcmp()、文字列の大文字と小文字を区別して比較します; 3. strcmp()、サイズではありません-sensitive 書かれた比較文字列; 4. strncmp() または strnicmp()、文字列の最初の n 文字の大文字と小文字を区別した比較。
このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。
bcmp() を使用します -- メモリ (文字列) の最初の n バイトを比較して、それらが等しいかどうかを確認します
プロトタイプは次のとおりです:
int bcmp(const void *s1, const void * s2, int n);
[パラメータ] s1、s2 は比較する必要がある 2 つのメモリ (または 2 つの文字列) で、n は比較する長さです。
[戻り値] s1 と s2 の最初の n バイトが等しいか、n が 0 に等しい場合は 0 を返し、それ以外の場合は 0 以外の値を返します。
bcmp() 関数は NULL をチェックしません。
実際、bcmp() と memcmp() には同じ関数があり、メモリ ブロックの最初の n バイトが等しいかどうかを比較するために使用されますが、2 つのパラメータ s1 と s2 はポインタであり、奇妙なことにstring.h ファイルを使用して、文字列を比較することもできます。
例:
#include <stdio.h> #include <string.h> int main () { char *s1 = "Golden Global View"; char *s2 = "Golden Global View"; if( !bcmp(s1, s2, 7) ) printf("s1 equal to s2 in first 7 bytes"); else printf("s1 not equal to s2 in first 7 bytes"); return 0; }
strcmp() を使用します -- 文字列を比較します (大文字と小文字を区別します)
プロトタイプは次のとおりです:
int strcmp(const char *s1, const char *s2);
[パラメータ] s1、s2 は、比較する必要がある 2 つの文字列です。
文字列サイズの比較は、ASCII コード テーブル内の順序によって決まり、この順序は文字の値でもあります。 strcmp() は、まず s2 の最初の文字値から s1 の最初の文字値を減算します。その差が 0 の場合は、次の文字の比較を続けます。差が 0 でない場合は、その差を返します。たとえば、文字列「Ac」と「ba」を比較すると、文字「A」(65)と「b」(98)の差(-33)が返されます。
[戻り値] パラメータ s1 と s2 の文字列が同じ場合は 0 を返します。 s1 が s2 より大きい場合、0 より大きい値が返されます。 s1 が s2 より小さい場合、0 より小さい値が返されます。
注: strcmp() はバイナリで比較を実行し、マルチバイト文字またはワイドバイト文字を考慮しません。
例:
#include <string.h> main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; char *c = "aacdef"; char *d = "aBcDeF"; printf("strcmp(a, b) : %d\n", strcmp(a, b)); printf("strcmp(a, c) : %d\n", strcmp(a, c)); printf("strcmp(a, d) : %d\n", strcmp(a, d)); }
出力:
strcmp(a, b) : 32 strcmp(a, c) :-31 strcmp(a, d) : 0
strictmp() を使用します -- 文字列を比較します (大文字と小文字は区別されません)
#プロトタイプは:int strcmp(char *s1, char *s2);[パラメータの説明] s1、s2 は比較する必要がある 2 つの文字列です。 文字列サイズの比較は、ASCII コード テーブル内の順序によって決まり、この順序は文字の値でもあります。 strictmp() は、まず s2 の最初の文字値から s1 の最初の文字値を減算します。その差が 0 の場合は、次の文字の比較を続けます。差が 0 でない場合は、その差が返されます。たとえば、文字列「Ac」と「ba」を比較すると、文字「A」(65)と「b」(98)の差(-33)が返されます。 [戻り値] パラメータ s1 と s2 の文字列が同じ場合は 0 を返します。 s1 が s2 より大きい場合、0 より大きい値が返されます。 s1 が s2 より小さい場合、0 より小さい値が返されます。 注: strictmp() は Windows に固有のものであり、Linux で同じ機能を持つ関数は strcasecmp() であり、ヘッダー ファイル strings.h に含まれています。 大文字と小文字を区別せずに文字列を比較する別の関数は strcmpi() です。strcmpi() は strictmp() のマクロ定義ですが、この関数は実際には提供されていません。 例: 2 つの文字列のサイズを比較します。
#include<stdio.h> #include<string.h> int main(void) { /*定义两个字符串*/ char* s1 = "http://see.xidian.edu.cn/cpp/u/biaozhunku/"; char* s2 = "http://see.xidian.edu.cn/cpp/shujujiegou/"; /*比较字符串(不分大小写)*/ int result = stricmp(s1,s2); // 也可以改成strcmpi() if(result>0) { printf("Result: s1 > s2"); } else if(result<0) { printf("Result: s1 < s2"); } else if(result == 0) { printf("Result: s1 = s2"); } getchar();/*等待用户输入个字符,然后退出*/ return 0; }出力:
Result: s1 > s2
strncmp() を使用します -- 文字列の最初の n 文字を比較します (大文字と小文字は区別されます)
プロトタイプは:int strncmp ( const char * str1, const char * str2, size_t n );[パラメータ] str1、str2 は比較する必要がある 2 つの文字列で、n は比較する文字数です。 文字列サイズの比較は、ASCII コード テーブル内の順序によって決まり、この順序は文字の値でもあります。 strncmp() は、まず s1 の最初の文字値から s2 の最初の文字値を減算します。その差が 0 の場合は、文字終了マーク '\0' まで次の文字の比較を続けます。差が 0 でない場合は、 、差額を返します。たとえば、文字列「Ac」と「ba」を比較すると、文字「A」(65)と「b」(98)の差(-33)が返されます。 注: 比較される文字には文字列の終了マーク '\0' が含まれており、'\0' に遭遇すると比較は終了します。n が何であっても、後続の文字は継続されません。比較される。 [戻り値] str1 と str2 の最初の n 文字が同じ場合は 0 を返し、s1 が s2 より大きい場合は 0 より大きい値を返し、s1 が s2 より小さい場合は値を返します。 0未満。 注: 2 つの文字が異なる場合、GCC はその文字に対応する ASCII コードの差を返し、VC は -1 または 1 を返します。しかし、恥ずかしいのは、strnicmp()、strcmp()、および strictmp() がすべて、ASCII の違いではなく、GCC と VC では -1 または 1 を返すことです。 例: 2 つの文字列セットを比較します。
#include<stdio.h> #include<string.h> int main(void){ char* s1 = "http://see.xidian.edu.cn/cpp/u/xitong/"; char* s2 = "HTTP://see.xidian.edu.cn/cpp/u/xitong/"; char* s3 = "abc"; char* s4 = "abcxyz"; char* s5 = "123456"; char* s6 = "123"; printf("s1-s2=%d\n", strncmp(s1, s2, 20)); // 是否区分大小写 printf("s3-s4=%d\n", strncmp(s3, s4, 100)); // s3的长度小于s4 printf("s5-s6=%d\n", strncmp(s5, s6, 100)); // s5的长度大于s6 return 0; }VC6.0 での実行結果:
s1-s2=1 s3-s4=-1 s5-s6=1GCC での実行結果:
s1-s2=32 s3-s4=-120 s5-s6=52
strnicmp() を使用 -- 文字列の最初の n 文字を比較します(大文字と小文字が区別されます)
プロトタイプは次のとおりです:int strnicmp ( const char * str1, const char * str2, size_t n );[パラメータ] str1、str2 は比較する必要がある 2 つの文字列で、n は比較する文字数です。比較した。 [戻り値] str1 と str2 の最初の n 文字が同じ場合は 0 を返し、s1 が s2 より大きい場合は 0 より大きい値を返し、s1 が s2 より小さい場合は値を返します。 0未満。 strncmp() との違いは、2 つの文字が異なる場合、GCC と VC の両方が、対応する ASCII の差を返すのではなく、-1 または 1 を返すことです。 strnicmp() に関するその他の手順については、「strncmp()」を参照してください。これは単なる例であり、繰り返しません。
另外一个不区分大小写比较字符串前n个字符的函数是strncmpi(),strncmpi()是strnicmp()的宏定义,实际未提供此函数。
示例:对6组字符串进行比较。
#include<stdio.h> #include<string.h> int main(void){ char* s1 = "http://see.xidian.edu.cn/cpp/u/xitong/"; char* s2 = "HTTP://see.xidian.edu.cn/cpp/u/xitong/"; char* s3 = "abc"; char* s4 = "abcxyz"; char* s5 = "123456"; char* s6 = "123"; printf("s1-s2=%d\n", strnicmp(s1, s2, 20)); // 是否区分大小写 printf("s3-s4=%d\n", strnicmp(s3, s4, 100)); // s3的长度小于s4 printf("s5-s6=%d\n", strnicmp(s5, s6, 100)); // s5的长度大于s6 return 0; }
VC6.0下运行结果:
s1-s2=0 s3-s4=-1 s5-s6=1
GCC下运行结果:
s1-s2=0 s3-s4=-1 s5-s6=1
相关推荐:《C语言视频教程》
以上がC言語で文字列を比較する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

C#と.NETランタイムは密接に連携して、開発者に効率的で強力なプラットフォームの開発機能に力を与えます。 1)C#は、.NETフレームワークとシームレスに統合するように設計されたタイプセーフおよびオブジェクト指向のプログラミング言語です。 2).NETランタイムは、C#コードの実行を管理し、ガベージコレクション、タイプの安全性、その他のサービスを提供し、効率的でクロスプラットフォームの操作を保証します。

C#.NET開発を開始するには、次のことが必要です。1。C#の基本的な知識と.NETフレームワークのコア概念を理解する。 2。変数、データ型、制御構造、関数、クラスの基本概念をマスターします。 3。LINQや非同期プログラミングなど、C#の高度な機能を学習します。 4.一般的なエラーのためのデバッグテクニックとパフォーマンス最適化方法に精通してください。これらの手順を使用すると、C#.NETの世界に徐々に浸透し、効率的なアプリケーションを書き込むことができます。

C#と.NETの関係は切り離せませんが、同じものではありません。 C#はプログラミング言語であり、.NETは開発プラットフォームです。 C#は、コードの書き込み、.NETの中間言語(IL)にコンパイルされ、.NET Runtime(CLR)によって実行されるために使用されます。

C#.NETは、複数のアプリケーション開発をサポートする強力なツールとライブラリを提供するため、依然として重要です。 1)C#は.NETフレームワークを組み合わせて、開発を効率的かつ便利にします。 2)C#のタイプの安全性とゴミ収集メカニズムは、その利点を高めます。 3).NETは、クロスプラットフォームの実行環境とリッチAPIを提供し、開発の柔軟性を向上させます。

c#.netisversatileforbothwebanddesktopdevelopment.1)forweb、useasp.netfordynamicapplications.2)fordesktop、equindowsorwpfforrichinterfaces.3)usexamarinforcross-platformdeveliment、enabling deshacrosswindows、

C#と.NETは、継続的な更新と最適化を通じて、新しいテクノロジーのニーズに適応します。 1)C#9.0および.NET5は、レコードタイプとパフォーマンスの最適化を導入します。 2).Netcoreは、クラウドネイティブおよびコンテナ化されたサポートを強化します。 3)ASP.Netcoreは、最新のWebテクノロジーと統合されています。 4)ML.NETは、機械学習と人工知能をサポートしています。 5)非同期プログラミングとベストプラクティスはパフォーマンスを改善します。

c#.netissuitableforenterprise-levelApplicationsとsystemduetoitsSystemdutyping、richlibraries、androbustperformance.

.NETでのC#のプログラミングプロセスには、次の手順が含まれます。1)C#コードの作成、2)中間言語(IL)にコンパイルし、3).NETランタイム(CLR)によって実行される。 .NETのC#の利点は、デスクトップアプリケーションからWebサービスまでのさまざまな開発シナリオに適した、最新の構文、強力なタイプシステム、および.NETフレームワークとの緊密な統合です。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
