使用fgets(),如果缓冲区够大,就会把行尾的回车符 ‘\n’ 也拷入。那怎么快速去掉回车符 ‘\n’ 呢?用下面的函数。
头文件:#inclued<string.h>
strcspn()用来检索字符串s1开头连续有几个字符都不含字符串s2中的字符,其原型为:
int strcspn(char *s1, char *s2);
【参数说明】s1、s2为要进行查找的两个字符串。
strcspn()从字符串s的开头计算连续的字符,而这些字符都完全不在字符串s2中。简单地说,若strcspn()返回的数值为n,则代表字符串s1开头连续有n 个字符都不含字符串s2中的字符。
【返回值】返回字符串s1开头连续不含字符串s2内的字符数目。
使用方法:
fgets(buf, 32, fp);
buf[strcspn(buf, “\n”)] = 0; //rm ‘\n’