c语言ord函数在哪个头文件里,findfirstof函数的用法 , findfirstof()函数可以在c中使用吗 ,怎么...

问题标题

findfirstof函数的用法 , findfirstof()函数可以在c中使用吗 ,怎么

2019-8-21来自ip:12.183.122.160的网友咨询

浏览量:231 手机版

问题补充:

find-first-of函数的用法 , find-first-of()函数可以在c中使用吗 ,怎么使用?

网友答案

i=1,j=12 第二个参数是位置,从零开始算 ----------------------------------- 我把你的程序改了改,要不没法再VC下运行 #include #include #include using namespace std; void main() { string s="abcdefghijkabcddacb"; int i=s.find_first_of('b',1); int j=s.find_first_of('b',2); coutcout}--------------------------------------------------回答你的补充问题:int i=s.find_first_of('basdf',1); //'改为",否则报错int j=s.find_first_of('basdf',2); //'改为",否则报错第一个参数是字符串,代表在s中查找该字符串的任意一个字符在第一次取决于第二个参数出现时的位置

网友答案

i=1,j=12 第二个参数是位置,从零开始算 ----------------------------------- 我把你的程序改了改,要不没法再VC下运行 #include #include #include using namespace std; void main() { string s="abcdefghijkabcddacb"; int i=s.find_first_of('b',1); int j=s.find_first_of('b',2); cout

网友答案

string类的查找函数: int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置//查找成功时返回所在位置,失败返回string::npos的值 int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置int rfind(const char *s, int pos = npos) const;int rfind(const char *s, int pos, int n = npos) const;int rfind(const string &s,int pos = npos) const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值 int find_first_of(char c, int pos = 0) const;//从pos开始查找字符c第一次出现的位置int find_first_of(const char *s, int pos = 0) const;int find_first_of(const char *s, int pos, int n) const;int find_first_of(const string &s,int pos = 0) const;//从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。

查找失败返回string::npos int find_first_not_of(char c, int pos = 0) const;int find_first_not_of(const char *s, int pos = 0) const;int find_first_not_of(const char *s, int pos,int n) const;int find_first_not_of(const string &s,int pos = 0) const;//从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::npos int find_last_of(char c, int pos = npos) const;int find_last_of(const char *s, int pos = npos) const;int find_last_of(const char *s, int pos, int n = npos) const;int find_last_of(const string &s,int pos = npos) const; int find_last_not_of(char c, int pos = npos) const;int find_last_not_of(const char *s, int pos = npos) const;int find_last_not_of(const char *s, int pos, int n) const;int find_last_not_of(const string &s,int pos = npos) const;//find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找

网友答案

要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件 using std::string; using std::wstring; 或 using namespace std; 下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。

string和wstring的用法是一样的,以下只用string作介绍:string类的构造函数:string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。

当构造的string太长而无法表达时会抛出length_error异常 ;string类的字符操作:const char &operator(int n)const; const char &at(int n)const; char &operator(int n); char &at(int n); operator和at)均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符不提供检查访问。

const char *data()const;//返回一个非null终止的c字符数组 const char *c_str()const;//返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 string的特性描述:int capacity()const; //返回当前容量即string中不必增加内存即可存放的元素个数 int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分 string类的输入输出操作:string类重载运算符operator>>用于输入,同样重载运算符operator函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。

string的赋值:string &operator=(const string &s);//把字符串s赋给当前字符串 string &assign(const char *s);//用c类型字符串s赋值 string &assign(const char *s,int n);//用c字符串s开始的n个字符赋值 string &assign(const string &s);//把字符串s赋给当前字符串 string &assign(int n,char c);//用n个字符c赋值给当前字符串 string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串 string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串 string的连接:string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾 string &append(const char *s); //把c类型字符串s连接到当前字符串结尾 string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾 string &append(const string &s); //同operator+=() string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾 string &append(int n,char c); //在当前字符串结尾添加n个字符c string &append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾 string的比较:bool operator==(const string &s1,const string &s2)const;//比较两个字符串是否相等 运算符">","=","int compare(const string &s) const;//比较当前字符串和s的大小 int compare(int pos, int n,const string &s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小 int compare(int pos, int n,const string &s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中 //pos2开始的n2个字符组成的字符串的大小 int compare(const char *s) const; int compare(int pos, int n,const char *s) const; int compare(int pos, int n,const char *s, int pos2) const; compare函数在>时返回1,string的子串:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串 string的交换:void swap(string &s2); //交换当前字符串与s2的值 string类的查找函数: int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置 int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置 int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置 int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置//查找成功时返回所在位置,失败返回string::npos的值 int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置 int rfind(const char *s, int pos = npos) const; int rfind(const char *s, int pos, int n = npos) const; int rfind(const string &s,int pos = npos) const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值 int find_first_of(char c, int pos = 0) const;//从pos开始查找字符c第一次出现的位置 int find_first_of(const char *s, int pos = 0) const; int find_first_of(const char *s, int pos, int n) const; int find_first_of(const string &s,int pos = 0) ...

网友答案

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下甚至是100%的需要。

我们可以用=进行赋值操作,==进行比较,+做串联是不是很简单?。

我们尽可以把它看成是C++的基本数据类型。

首先,为了在我们的程序中使用string类型,我们必须包含头文件。

如下:#include//注意这里不是string.hstring.h是C字符串头文件1.声明一个C++字符串声明一个字符串变量很简单:stringStr;这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。

上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。

String类的构造函数和析构函数如下:a)strings;//生成一个空字符串sb)strings(str)//拷贝构造函数生成str的复制品c)strings(str,stridx)//将字符串str内"始于位置stridx"的部分当作字符串的初值d)strings(str,stridx,strlen)//将字符串str内"始于stridx且长度顶多strlen"的部分作为字符串的初值e)strings(cstr)//将C字符串作为s的初值f)strings(chars,chars_len)//将C字符串前chars_len个字符作为字符串s的初值。

g)strings(num,c)//生成一个字符串,包含num个c字符h)strings(beg,end)//以区间beg;end不包含end内的字符作为字符串s的初值i)s.~string)//销毁所有字符,释放内存都很简单,我就不解释了。

2.字符串操作函数这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。

a)=,assign)//赋以新值b)swap)//交换两个字符串的内容c)+=,append(),push_back)//在尾部添加字符d)insert)//插入字符e)erase)//删除字符f)clear)//删除全部字符g)replace)//替换字符h+//串联字符串i)==,!=,,>=,compare)//比较字符串j)size(),length)//返回字符数量k)max_size)//返回字符的可能最大个数l)empty)//判断字符串是否为空m)capacity)//返回重新分配之前的字符容量n)reserve)//保留一定量内存以容纳一定数量的字符o),at)//存取单一字符p)>>,getline)//从stream读取某值q函数的参数,还必须拷贝到一个char*,而我们的原则是能不使用C字符串就不使用。

那么,这时候我们的处理方式是:如果此函数对参数也就是char*的内容不修改的话,我们可以这样Connect((char*)UserID.c_str(),(char*)PassWD.c_str),但是这时候是存在危险的,因为这样转换后的字符串其实是可以修改的有兴趣地可以自己试一试,所以我强调除非函数调用的时候不对参数进行修改,否则必须拷贝到一个char*上去。

当然,更稳妥的办法是无论什么情况都拷贝到一个char*上去。

同时我们也祈祷现在仍然使用C字符串进行编程的高手们说他们是高手一点儿也不为过,也许在我们还穿开裆裤的时候他们就开始编程了,哈哈…写的函数都比较规范,那样我们就不必进行强制转换了。

2.3元素存取我们可以使用下标操...

网友答案

1.string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。

当构造的string太长而无法表达时会抛出length_error异常2.string类的字符操作:const char &operator(int n)const;const char &at(int n)const;char &operator(int n);char &at(int n);operator和at)均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符不提供检查访问。

const char *data()const;//返回一个非null终止的c字符数组const char *c_str()const;//返回一个以null终止的c字符串int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目3.string的特性描述:int capacity()const; //返回当前容量即string中不必增加内存即可存放的元素个数int max_size()const; //返回string对象中可存放的最大字符串的长度int size()const; //返回当前字符串的大小int length()const; //返回当前字符串的长度bool empty()const; //当前字符串是否为空void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作:string类重载运算符operator>>用于输入,同样重载运算符operator","=","时返回1,头文件中例如:string input("hello,this is a test");istringstream is(input);string s1,s2,s3,s4;is>>s1>>s2>>s3>>s4;//s1="hello,this",s2="is",s3="a",s4="test"ostringstream os;os

网友答案

函数名: findfirst(); findnext ();功 能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件 ;用 法: int findfirst(char *pathname, struct ffblk *ffblk, int attrib); int findnext(struct ffblk *ffblk); 举例: /* findnext example */ #include #include int main(void) { struct ffblk ffblk; int done; printf("Directory listing of *.*\n"); done = findfirst("*.*",&ffblk,0); while (!done) { printf(" %s\n", ffblk.ff_name); done = findnext(&ffblk); }

网友答案

1.算术函数 函数标识符 自变量类型 意义 结果类型 abs 整型、实型 绝对值 同自变量 arctan 整型、实型 反正切 实型 cos 整型、实型 余弦 实型 exp 整型、实型 指数 实型 frac 整型、实型 小数部分 实型 int 整型、实型 整数部分 实型 ln 整型、实型 自然对数 实型 pi 无自变量 圆周率 实型 sin 整型、实型 正弦 实型 sqr 整型、实型 平方 同自变量 sqrt 整型、实型 平方根 实型 例:abs(-4)=4 abs(-7.49)=7.49 arctan(0)=0.0 sin(pi)=0.0 cos(pi)=-1.0 frac(-3.71)=-0.71 int(-3.71)=-3.0 sqr(4)=16 sqrt(4)=2 2.标准函数 函数标识符 自变量类型 意义 结果类型 odd 整型 判断奇数 布尔型 pred 离散类型 求前趋 同自变量 succ 离散类型 求后继 同自变量 例:odd(1000)=false pred(2000)=1999 succ(2000)=2001 odd(3)=true pred('x')='w succ('x')='y' 3.转换函数 函数标识符 自变量类型 意义 结果类型 chr byte 自变量对应的字符 字符型 ord 离散类型 自变量对应的序号 longint round 实型 四舍五入 longint trunc 实型 截断取整 longint 例:chr(66)='B' ord('A')=65 round(-4.3)=-5 trunc(2.88)=2 4.杂类函数 函数标识符 自变量类型 意义 结果类型 random 无自变量 0,1间的随机实数 real random word 0,自变量间的随机整数 word randomize 无自变量 初始化内部随机数产生器 longint upcase 字符型 使小写英文字母变为大写 字符型 downcase 字符型 使小写英文字母变为大写 字符型 SYSTEM TP的运行库,包括常用的标准函数和过程,可以在程序中直接使用,不需USES语句说明。

DOS 具有日期、时间、目录查找、程序执行等功能 CRT 具有屏幕模式控制、扩展键盘码、颜色、窗口、声音等 功能 PRINTER 支持打印输出操作。

GRAPH 高级图形软件包,支持多种图形适配器。

GRAPH3 实现TP3.0的图形软件包。

TURBO3 兼容TP3.0的源程序。

OVERLAY 实现高级覆盖管理 SYSTEM单元常用过程与函数 ABS(X) F 求变量的绝对值 ADDR(X) F 测变量地址 APPEND(F) P 打开一个存在的文本文件,并将文件指 针指向文件末尾准备添加元素 ARCTAN(X) F 反正切 ASSIGN(F,C) P 将字符串C所表示的外部文件名赋给文 件变量F ASSIGNED(X) P 测试程序当中的指针或变量是否为空 BLOCKREAD(F,D,NUM) P 读类型文件。

BLOCKWRITE(F,D,NUM) P 写无类型文件 BREAK P 中止或结束循环 CHDIR(PATH) P 改变当前目录 CHR(X) F 求ASCII码值为X的字符 CLOSE(F) P 关闭文件 CONCAT(S1,S2...S3) F 字符串合并 CONTINUE P 继续循环 COPY(S,POS,LEN) F 返回一个字符串的子串 COS(X) F 余弦函数 CSEG F 返回CS寄存器的当前值 DEC(X) F X:=X-1 DELETE(S,POS,LEN) P 删除一个字符串的子串 DISPOSE(P) P 释放一个动态变量 DSEG F 返回DS寄存器的当前值 EOF(F) F 判断文件是否结束 EOLN(F) F 判断文件类型中的一行是否结束 ERASE(F) P 删除一个存在的外部文件。

EXIT P 过程中止 EXP(X) F 以E为底的指数函数 FILEPOS(F) F 文件记录的当前位置 FILESIZE(F) F 文件记录数 FILLCHAR(D,LEN,DATE) P 填充数值或字符 FLUSH(F) P 清空文件缓存区 FRAC(X) F 取实形变量的小数部分 FREEMEM(P,I) P 释放变长动态变量 GETDIR(DRV,PATH) P 取当前盘,当前目录 GETMEM(P,I) P 分配变长的动态变量,并把块地址存放在一个指针变量中 HALT P 立即中止程序执行,返回TP编辑器或DOS HI(I) F 返回一个变量的高位字节 INSERT(S,D,POS) F 在一个字符串中某一位置开始插入一个子串 INT F 取整数部分 IORESULT F 返回最后一次输入/出操作的结果状态 LENGTH(S) F 取字符串的长度 LN(R) F 求自然对数 LO(I) F 返回一个变量的低位字节 MAXAVAIL F 返回最大内存空间 MEMAVAIL F 返回可用内存数目 MKDIR(PATH) P 建立一个子目录 MOVE(S,D,LEN) P 快传送 NEW(P) P 建立一个新的动态变量 ODD(X) F 判断一个变量的值是否为奇数 OFS(X) F 侧变量偏移地址 ORD(CH) F 求一个字符的ASCII码值 PARAMCOUNT F DOS参数串长度 PARAMSTR(N) F DOS参数串 PI F 圆周率的值 pos(str1,str2) f 测一个字符串中包含的另一个子串的开始位置 pred(x) f 求前驱 ptr(i) f 指针赋值 random f 返回0~1之间的随机实数 randomize p 初始化随机数发生器 read/readln(f,x) p 读入/输入数据 rename(f,str) p 给一个外部文件改名 reset(f) p 打开文件,并将文件指针指向开始,并准备读数据 rewrite(f) p 打开文件,并将文件指针指向开始,准备写资料 rmdir(path) p 删除一个子目录 round(x) f 求实数的近似数 runerror p 停止程序的运行 scrollto p 滚动显示窗口的某部分内容 seek(f,n) p 将文件指针定位于文件f的第n个文件成分上 seekrof(f) f 定位到文件尾 seekroln(f) f 定位到行尾 seg(n) f 测变量段地址 settextbuf(f) p 将输入/出缓冲区与一个文本文件建立关联 sin(x) f 正弦函数 sizeof(x) f 测变量大小 sptr f 返回sp寄存器的当前值 sqr(x) f 平方 sqrt(x) f 平方根 sseg f 返回ss寄存器的当前值 str(i,s) f 将一个整数转换成字符串 succ(X) f 后继函数 swap(x) f 交换一个变量的高位和低位字节 trunc(x) f 截去实数的小数部分 truncate(f) p 截去文件当前指针以后的内容 ...

网友答案

要想使用标准C++中string类,必须要包含 #include // 注意是,不是,带.h的是C语言中的头文件 using std::string; using std::wstring; 或 using namespace std; string类的大部分函数: begin 得到指向字符串开头的Iterator end 得到指向字符串结尾的Iterator rbegin 得到指向反向字符串开头的Iterator rend 得到指向反向字符串结尾的Iterator size 得到字符串的大小 length 和size函数功能相同 max_size 字符串可能的最大大小 capacity 在不重新分配内存的情况下,字符串可能的大小 empty 判断是否为空 operator 取第几个元素,相当于数组 c_str 取得C风格的const char* 字符串 data 取得字符串内容地址 operator= 赋值操作符 reserve 预留空间 swap 交换函数 insert 插入字符 append 追加字符 push_back 追加字符 operator+= += 操作符 erase 删除字符串 clear 清空字符容器中所有内容 resize 重新分配空间 assign 和赋值操作符一样 replace 替代 copy 字符串到空间 find 查找 rfind 反向查找 find_first_of 查找包含子串中的任何字符,返回第一个位置 find_first_not_of 查找不包含子串中的任何字符,返回第一个位置 find_last_of 查找包含子串中的任何字符,返回最后一个位置 find_last_not_of 查找不包含子串中的任何字符,返回最后一个位置 substr 得到字串 compare 比较字符串 operator+ 字符串链接 operator== 判断是否相等 operator!= 判断是否不等于 operator> 从输入流中读入字符串 operator函数原型: string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。

当构造的string太长而无法表达时会抛出length_error异常 ; string类的字符操作: const char &operator(int n)const; const char &at(int n)const; char &operator(int n); char &at(int n); operator和at)均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符不提供检查访问。

const char *data()const;//返回一个非null终止的c字符数组 const char *c_str()const;//返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 string的特性描述: int capacity()const; //返回当前容量即string中不必增加内存即可存放的元素个数 int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分 string类的输入输出操作: string类重载运算符operator>>用于输入,同样重载运算符operator函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。

string的赋值: string &operator=(const string &s);//把字符串s赋给当前字符串 string &assign(const char *s);//用c类型字符串s赋值 string &assign(const char *s,int n);//用c字符串s开始的n个字符赋值 string &assign(const string &s);//把字符串s赋给当前字符串 string &assign(int n,char c);//用n个字符c赋值给当前字符串 string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串 string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串 string的连接: string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾 string &append(const char *s); //把c类型字符串s连接到当前字符串结尾 string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾 string &append(const string &s); //同operator+=() string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾 string &append(int n,char c); //在当前字符串结尾添加n个字符c string &append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾 string的比较: bool operator==(const string &s1,const string &s2)const;//比较两个字符串是否相等 运算符">","=","<=","!="均被重载用于字符串的比较; int compare(const string &s) const;//比较当前字符串和s的大小 int compare(int pos, int n,const string &s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小 int compare(int pos, int n,const string &s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中 //pos2开始的n2个字符组成的字符串的大小 int compare(const char *s) const; int compare(int pos, int n,const char *s) const; int compare(int pos, int n,const char *s, int pos2) const...

我来回答

验证码:

e9568dae565949379ec40a9dfa476c45.gif

大家还关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值