strstr() 函数和“\r\n”

发布于 2024-10-31 05:58:00 字数 487 浏览 4 评论 0原文

const char * strstr ( const char * str1, const char * str2 );
      char * strstr (       char * str1, const char * str2 );

返回指向 str1 中首次出现的 str2 的指针,如果 str2 不是 str1 的一部分,则返回空指针

假设声明了 char* str2=new char(5000)像这样,文件中的字符被读入str2

如果 str2 包含多个“\r”或“\n”字符,strstr 如何工作。一旦遇到“\n”或“\r”,它会停止还是继续?另外,如果它确实继续,是否有任何方法可以在 str2 中的某个点停止该函数?

const char * strstr ( const char * str1, const char * str2 );
      char * strstr (       char * str1, const char * str2 );

Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of str1

Lets say char* str2=new char(5000) is declared like this, and characters from a file are read into str2.

How does strstr work if str2 contains multiple '\r' or '\n' chars. Does it stop once it hits a '\n' or '\r' or does it continue? Also if it does continue, is there any way to stop the function at a certain point in str2?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丑疤怪 2024-11-07 05:58:00

它一直持续到字符串末尾 ('\0')

It keeps going till the end of the string ('\0')

静谧 2024-11-07 05:58:00

strstr() 函数在 str1 中找到字符串 str2 的位置处停止并返回第一个字符。因此,如果查找 str2 = "\r\n";,它将返回一个指向第一个 '\r' 的指针,该指针后紧跟一个 '>\n'。如果遇到“\r”后跟“\n”以外的内容,则会忽略该“\r”。仅当函数找到所需的字符串或在 str1 中遇到 NUL '\0'(标记字符串的结尾)时,才会停止搜索。

如果您正在查找字符集中的第一个字符 "\r\n",那么您需要查看 strspn() 和/或 strcspn() 函数。

The strstr() function stops at and returns the first character in str1 where the string str2 is found. So, if looking for str2 = "\r\n";, it will return a pointer to the first '\r' which is immediately followed by a '\n'. If it encounters a '\r' followed by something other than '\n', it ignores this '\r'. The functions will only stop searching when they find the desired string or when they encounter a NUL '\0' in str1, marking the end of the string.

If you are looking for the first character in the set of characters "\r\n", then you need to look at the strspn() and/or strcspn() functions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文