C++读取到回车换行符问题处理

有一个程序只需对输入的一行字符一个个进行独立判断,C的话用getchar()就好了,但是用C++的时候发现CIN似乎不接受回车符……搜索解决方法的时候很多人都建议将getline,然后处理数组或者定义一个流什么的,但是这样一行可能很长,要占用很多空间。有没有别的办法?

今天在编写99乘法在线小游戏(看过我的 linux下c实现的数据库备份(第四版)应该知道我在那里提过^.^)的时候遇到读取文件的信息遇到回车换行符的烦恼。
比如我文件里面有如下信息:
 name=qizexi sex=man
我希望读取到name=qizexi这些有效字符而已,不希望\r\n也加入其中,因为那样会影响我的判断。
解决的方式是在遇到\r获取\n的时候,替换为\0.
 #include #include int main(int argc, char *argv[]) { char str[128]; while (fgets(str, 127, stdin)) { char *tmp = NULL; //去掉换行符 if (tmp = strstr(str, "\n")) *tmp = '\0'; //去掉回车符 if (tmp = strstr(str, "\r")) *tmp = '\0'; printf("---%s---\n", str); } return 0; }

以上就是C++读取到回车换行符问题处理的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » C语言