
if(string.indexOf("ABC")>=0){
console.log('包含此字符串')
}
string.indexOf("ABC"):返回大于等于0的整数值则表示包含此字符串,若不包含则返回-1。
strObj.indexOf(subString[, startIndex])
JavaScript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串, 则返回 -1。
如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
参数:
strObj : 必选项,String 对象或文字。
subString :必选项,要在 String 对象中查找的子字符串。
starIndex :可选项,该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找;
如果 startindex 是负数,则 startindex 被当作零。册洞如果它比最大的好嫌字符位置索引还大,则它被当作最大的可能索引。
lastIndexOf() 方法则是从字符串的结尾州袜枯开始检索子串。
CStringArray strArr
//strArr.SetSize(150, 10) <=======这个地方使用SetSize,下面必须配合用SetAt(),而不能用Add, 扒敏否则记录会追加到151条去,最好去掉,暂时不用。
CStdioFile mFile
CString strText
mFile.Open(_T("D:\\整理前.txt"),CFile::modeReadWrite|CFile::modeNoTruncate)
for (int i=0i<500i++) <=======这里的for明显限制了记录条数,同时也可能造成不必要的循环
{
mFile.ReadString(strText)
if (strText.GetLength()>=8)
{
strArr.Add(strText)<========这里前面说了原因,用了SetSize,一开始的记录就加到了151条。
}
}
mFile.Close()
mFile.Open(_T("D:\\整理后.txt"),CFile::modeReadWrite)<======文件打开结果没做判定,如果打开失败,下面的WriteString就会崩溃。
for (int i=0i<500i++){<==========这里的for循环也太不严谨
mFile.WriteString(strArr.GetAt(i))
mFile.WriteString(_T("\n\r"))
}
mFile.Close()
把你的源代码整理了一下,试试运行一下,看解决了问题吗?没问题请采纳,谢谢:
#include <stdio.h>#include <afxcoll.h>
#include <afx.h>
void main()
{
宽此唤int i=0
CStringArray strArr
CStdioFile mFile
CString strText
if(!mFile.Open(_T("D:\\整理前.txt"),CFile::modeReadWrite|CFile::modeNoTruncate))return
while(mFile.ReadString(strText))
慎凯 {
if (strText.GetLength()>=8)
{
strArr.Add(strText)
}
}
mFile.Close()
if(!mFile.Open(_T("D:\\整理后.txt"),CFile::modeCreate|CFile::modeReadWrite))return
for (i=0i<strArr.GetSize()i++)
{
mFile.WriteString(strArr.GetAt(i))
mFile.WriteString(_T("\n\r"))
}
mFile.Close()
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)