Ekstrak subrentetan antara mana-mana pasangan pembatas
分隔符是将字符串与其他字符分开的字符,例如在我们日常阅读活动中的句子中,我们通过空格分隔出不同的单词。在数学和正则表达式中,我们使用()括号作为主要的分隔符。
子字符串及其操作的概念在编程中非常重要,特别是在用于编写编译器和汇编器的C语言中。在字符串中识别定界符,并将起始定界符后的字符复制到另一个变量中,直到结束定界符。
== 和 != 运算符可用于比较字符串中的字符和用户指定的分隔符字符。
使用scanf()函数从用户接受一个字符串,所以空格不能作为字符串的一部分。如果使用puts()或其他函数或方法,可能会得到一个高级版本。
该程序使用数组和字符串处理的基本概念,而不使用头文件中可用的任何字符串函数。可以使用字符串比较、字符串复制函数,但作为简单逻辑的练习,该程序是使用非常基本的逻辑完成的。
Methods Used
的中文翻译为:使用的方法
方法一:使用 substring()
方法2:使用函数
两种方法各有其优点。方法1是一种直接的解决方案,帮助用户理解字符串操作的过程,而方法2通过使用函数促进更好的软件设计原则和可维护性。
语法
在 C 编程语言中提取任意一对分隔符之间的子字符串是一项常见的编程任务。提取子串的方法可以根据具体的问题要求和约束而变化。尽管如此,一种广泛使用的技术是利用 C 标准库中的 strtok() 函数。该函数用于根据指定的分隔符将字符串分解为一系列标记。该函数将原始字符串和分隔符作为输入,并返回指向字符串中找到的第一个标记的指针。要提取所有子字符串,可以使用空指针作为第一个参数重复调用该函数以获得后续标记。字符串的结尾由 strtok() 函数返回的空指针指示。
char *strtok(char *str, const char *delim);
算法
步骤 1 - 声明 str1,str2,delim1,delim2 初始化为 null。
第 2 步 - 声明整型变量 len、n、I、subs
步骤 3 - 从控制台接收 str1、delim1 和 delim2
第 4 步 - 检查长度并将其存储在 len
步骤 5 - 当 n<输入字符串长度 len 时,检查 str1[n] 是否等于 delim1
第 6 步 - 如果是,则 subs=n,打破循环
步骤 7 − 当 str1[subs] != delim2 时,使 n=0
第 8 步 - 将 delim1 后的 str1 复制到 str2,str2[n] = str1[subs],递增 n 和 subs
步骤 9 - 打印 str2,其中输入字符串减号 ()。
方法一:使用substring()
对于字符串的简单逐步数组操作的实现具有几个优点。它直观且易于理解,这对于初学者或正在学习编程的人来说是有益的。这种方法允许用户看到程序用于操作字符串的确切过程。然而,正如前面提到的,这种方法有一些限制,例如不接受带有空格的字符串,并且将长度限制为20个字符。使用gets方法,您可以克服字符串大小的限制,但值得注意的是,由于潜在的缓冲区溢出和安全风险,gets方法已被弃用。
Example
的中文翻译为:示例
这段代码构成了一个软件,它基于两个分隔符提取字符串的一部分。第一个分隔符指定了子字符串的开始,第二个分隔符定义了其结束。输入字符串存储在str1变量中,两个分隔符定义为delim1和delim2变量。提取的子字符串保存在str2变量中。程序首先使用第一个分隔符识别子字符串的起始位置,然后通过计算从起始位置到第二个分隔符定义的结束位置的字符数量来计算其长度。然后调用Substring函数从原始字符串中提取子字符串并将其存储在str2变量中。提取的子字符串然后显示在屏幕上。
#include <stdio.h> #include <string.h> void Substring(char *str2, const char *str1, int start, int n) { strncpy(str2, str1 + start, n); } int main() { // Predefined input values char str1[] = "Hello[world]!"; char delim1 = '['; char delim2 = ']'; char str2[100]; int len1 = strlen(str1); int start, subs, n = 0; // Getting the position of substring based on delimiter while (n < len1) { if (str1[n] == delim1) { subs = n; break; } n++; } start = n; // Getting the length of substring if (str1[subs] == delim1) { n = 0; subs++; while (str1[subs] != delim2) { subs++; n++; } Substring(str2, str1, start + 1, n); } // Adding null character at the end str2[n] = '\0'; printf("<span>\</span>nSub string is %s", str2); return 0; }
输出
Sub string is world
方法二:函数
使用函数来实现程序可以提供更模块化和有组织的解决方案。它将代码分解为较小、可重用的部分,可以独立进行测试和调试。这种方法促进了更好的软件设计原则和代码可读性。通过创建函数,您还可以轻松扩展程序的功能并提高其可维护性。
Example
的中文翻译为:示例
此代码构成了一个 C 软件,用于提取定义的字符串的一部分。该字符串被声明为字符数组,并且分隔符在主函数中预先指定。 Getpos 函数用于确定字符串中第一个分隔符 (delim1) 的位置。 Copystr 函数用于将两个分隔符(delim1 和 delim2)之间的字符复制到新字符串中。原始字符串的长度是使用 string.h 库中的 strlen 函数计算的。然后使用 printf 函数将子字符串显示在屏幕上。
#include <stdio.h> #include <string.h> void Getpos(char *str1, int len1, char delim1, int *subs) { int n = 0; while (n < len1) { if (str1[n] == delim1) { *subs = n; break; } n++; } } void Copystr(char *str1, char *str2, char delim1, char delim2, int subs) { if (str1[subs] == delim1) { int n = 0; subs++; while (str1[subs] != delim2) { str2[n] = str1[subs]; subs++; n++; } } } int main() { // Predefined input values char str1[] = "Hello[world]!"; char delim1 = '['; char delim2 = ']'; char str2[100]; int len1, subs; len1 = strlen(str1); Getpos(str1, len1, delim1, &subs); Copystr(str1, str2, delim1, delim2, subs); str2[strlen(str2)] = '\0'; printf("<span>\</span>nSub string is %s", str2); return 0; }
输出
Sub string is world
结论
C 中的字符串以字符的形式存储在内存中,字符串中的每个字符或字母都可以单独访问和处理。字符串的数组操作可以轻松地对字符串执行各种操作,如连接、反转,查找回文等等。这种灵活性使其在文件操作和最小内存使用方面非常有用。
Atas ialah kandungan terperinci Ekstrak subrentetan antara mana-mana pasangan pembatas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Banyak kali, fail yang sangat besar sukar untuk dikongsi antara peranti, terutamanya telefon pintar dan seumpamanya. Oleh itu, fail ini mula-mula diarkibkan/dimampatkan ke dalam fail RAR dan kemudian dihantar ke peranti lain untuk dikongsi. Tetapi masalahnya ialah fail RAR tidak mudah untuk diekstrak pada iPhone. Untuk mengekstrak fail zip, ia hanya memerlukan satu ketikan. Tidak ramai yang tahu proses mengekstrak fail RAR pada iPhone, dan untuk pemula, langkah-langkahnya boleh mengelirukan. Ini boleh dilakukan menggunakan aplikasi lalai pada iPhone anda yang dipanggil Pintasan. Di sini kami menerangkan langkah demi langkah cara mengekstrak sebarang fail RAR pada iPhone menggunakan aplikasi Pintasan. Cara Mengekstrak Fail RAR pada iPhone Langkah 1: Pertama, anda

Cara menggunakan fungsi LOCATE dalam MySQL untuk mencari kedudukan substring dalam rentetan Dalam MySQL, terdapat banyak fungsi yang boleh digunakan untuk memproses rentetan. Antaranya, fungsi LOCATE adalah fungsi yang sangat berguna yang boleh digunakan untuk mencari kedudukan substring dalam rentetan. Sintaks fungsi LOCATE adalah seperti berikut: LOCATE(subrentetan, rentetan,[kedudukan]) dengan subrentetan ialah subrentetan untuk ditemui dan rentetan ialah subrentetan untuk ditemui.

Format nombor yang boleh anda pilih pada iOS 16 Dengan perubahan pada iOS 16.4 (beta 2), anda boleh memilih daripada tiga format nombor berbeza untuk iPhone anda. Format ini menggunakan ruang, koma dan noktah sebagai simbol yang memisahkan ribuan digit dalam nombor atau sebagai titik perpuluhan. Titik perpuluhan ialah aksara yang digunakan untuk memisahkan bahagian integer sesuatu nilai daripada bahagian pecahannya, biasanya ditetapkan dengan noktah (.) atau koma (,). Pemisah seribu digunakan untuk memisahkan nombor berbilang digit kepada tiga kumpulan, biasanya ditentukan oleh noktah (.), koma (,), atau ruang ( ). Pada versi iOS terkini, anda boleh menggunakan mana-mana format nombor berikut sebagai pilihan pilihan iPhone anda: 1,23

Diberi dua rentetan str_1 dan str_2. Matlamatnya adalah untuk mengira bilangan kejadian subrentetan str2 dalam rentetan str1 menggunakan prosedur rekursif. Fungsi rekursif ialah fungsi yang memanggil dirinya dalam definisinya. Jika str1 ialah "Iknowthatyouknowthatiknow" dan str2 ialah "tahu" bilangan kejadian ialah -3 Mari kita fahami melalui contoh. Contohnya, input str1="TPisTPareTPamTP", str2="TP";

Fungsi ini serupa dengan fungsi strtok(). Satu-satunya perbezaan utama ialah _r, yang dipanggil fungsi reentrant. Fungsi reentrant ialah fungsi yang boleh diganggu semasa pelaksanaan. Fungsi jenis ini boleh digunakan untuk menyambung semula pelaksanaan. Oleh itu, fungsi reentrant adalah thread-safe, yang bermaksud ia boleh diganggu dengan selamat oleh thread tanpa menyebabkan sebarang kerosakan. Fungsi strtok_r() mempunyai parameter tambahan yang dipanggil konteks. Dengan cara ini fungsi boleh dipulihkan di lokasi yang betul. Sintaks fungsi strtok_r() adalah seperti berikut: #include<string.h>char*strtok_r(char*string,constchar*limiter,char**

Jika anda tidak tahu cara menyahzip fail pada Windows 11, anda mungkin tidak dapat memasang perisian tertentu atau melihat fail yang telah dihantar oleh orang lain kepada anda dalam format arkib. Proses ini sangat mudah untuk dilakukan, dan dalam panduan hari ini kami akan menunjukkan kepada anda cara terbaik untuk melakukannya pada Windows 11. Bagaimana untuk menyahzip fail dalam Windows 11? 1. Cari fail zip pada PC anda menggunakan menu konteks dan klik kanan padanya. Seterusnya, pilih "Ekstrak Semua." Pilih lokasi pengekstrakan dan klik butang "Ekstrak". Tunggu Windows mengekstrak fail. 2. Gunakan alat pihak ketiga untuk memuat turun WinZip dan memasangnya. Klik dua kali pada fail zip yang anda ingin ekstrak. Sekarang klik Ekstrak ke dan pilih folder destinasi. 3.

Cara mengekstrak kawasan tertentu dalam gambar menggunakan Python Pengenalan: Dalam pemprosesan imej digital, mengekstrak kawasan tertentu adalah tugas biasa. Python, sebagai bahasa pengaturcaraan yang berkuasa, menyediakan pelbagai perpustakaan dan alatan untuk memproses data imej. Artikel ini akan memperkenalkan cara menggunakan Python dan perpustakaan OpenCV untuk mengekstrak kawasan tertentu dalam imej, dengan contoh kod. Pasang perpustakaan yang diperlukan Sebelum kita mula, kita perlu memasang perpustakaan OpenCV. Ia boleh dipasang menggunakan arahan berikut: pipinstallopen

Bagaimana untuk mengekstrak hanya satu keping data pendua dalam pangkalan data Oracle? Dalam operasi pangkalan data harian, kita sering menghadapi situasi di mana kita perlu mengekstrak data pendua. Kadangkala kami ingin mencari salah satu data pendua dan bukannya menyenaraikan semua data pendua. Dalam pangkalan data Oracle, kita boleh mencapai tujuan ini dengan bantuan beberapa pernyataan SQL. Seterusnya, kami akan memperkenalkan cara mengekstrak hanya satu keping data pendua daripada pangkalan data Oracle dan memberikan contoh kod khusus. 1. Gunakan fungsi ROWID ROWID ialah Ora
