服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++读取到回车换行符问题处理

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

2021-03-05 15:30C++教程网 C/C++

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

今天在编写99乘法在线小游戏(看过我的 linux下c实现的数据库备份(第四版)应该知道我在那里提过^.^)的时候遇到读取文件的信息遇到回车换行符的烦恼。

比如我文件里面有如下信息:

?
1
2
name=qizexi
sex=man

我希望读取到name=qizexi这些有效字符而已,不希望 也加入其中,因为那样会影响我的判断。
解决的方式是在遇到 获取 的时候,替换为.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<string.h>
#include<stdio.h>
 
int main(int argc, char *argv[])
{
  char str[128];
  while (fgets(str, 127, stdin)) {
    char *tmp = NULL;
    //去掉换行符
    if (tmp = strstr(str, " "))
      *tmp = '';
    //去掉回车符
    if (tmp = strstr(str, " "))
      *tmp = '';
    printf("---%s--- ", str);
  }
  return 0;
}

 

延伸 · 阅读

精彩推荐