字符串操作及其函数(会持续更新)

C/C++

字符类小知识

  • 当函数的参数类型为char*时,他将无法被一个const char*类型的值所赋值

int main_Operate::rte_number(char* Name);
rte_number("data/student_fill.txt");  //调用失败 const char* 类型的实参和 char* 类型的形参不兼容

int main_Operate::rte_number(const char* Name);   //修改后调用成功
  • %[^\t] 占位符可以一直读取文本,直到读到\t为止。这个\t是可以更改的,改成\n则为直到读到\n为止

char text[50];
fscanf("%[^\t]",text);    //直到读到\t才停止

字符类函数

  • fgetc 文件读取单个字符

fgetc函数返回的字符实际上是文件流中位置指针指向的字符。当fgetc函数读取错误时,返回EOF并设置文件错误标志位。该函数以无符号char强制转换为int的形式返回读取的字符,如果到达文件末尾或出现读错,则返回EOF。可以用char或者int类型接收。

//不断读取fp文件中的每一个字符,赋值给ch。当ch为EOF时则退出循环
while (EOF != (ch = fgetc(fp)))
{
    if (ch == '\n')
    i++;
}
  • strcpy 拷贝字符串

是将一个字符串复制到另一块空间地址中 的函数,‘\0’是停止拷贝的终止条件,同时也会将 '\0' 也复制到目标空间

更详细的文章请看:【C语言】strcpy()函数_Candysrf的博客-优快云博客

strstr(this->file[i].code_color, "红")    //code_color 为char数组
  • strcmp 比较字符串

参数:strcmp(str1,str2); str1=str2时,返回零;str1<str2时,返回负数;str1>str2时,返回正数

strcmp比较字符串大小的方法是:从左到右,依次对字母的ASCII码的大小进行比较,遇到不一样的字符或'\0'结束。

if (strcmp(tmp,"学号填空:\n") == 0){    //tmp为char数组
        scanf("%s", &number);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栈不收

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值