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

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

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

name=qizexi
sex=man

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

#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, "\n"))
      *tmp = '\0';
    //去掉回车符
    if (tmp = strstr(str, "\r"))
      *tmp = '\0';
    printf("---%s---\n", str);
  }
  return 0;
}
(0)

相关推荐

  • C++读取INI配置文件类实例详解

    本文以实例讲解了C++读取配置文件的方法. 一般情况下,我们都喜欢使用ini扩展名的文件作为配置文件,可以读取及修改变量数值,也可以设置新的组,新的变量,本文的实例代码一个是读取INI的定义文件,另一个是CIniFile类实现文件,两者结合,完美实现VC++对INI文件的读写. 用户接口说明:在成员函数SetVarStr和SetVarInt函数中,当iType等于零,则如果用户制定的参数在ini文件中不存在,则就写入新的变量.当iType不等于零,则如果用户制定的参数在ini文件中不存在,就不写

  • C++采用ring3读取MBR实例

    本文实例讲述了C++采用ring3读取MBR的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: DWORD dwBytesReturned = 0;      BYTE bytBuffer_1[512];      BYTE bytBuffer_2[512];      CHAR string[2048];      HANDLE hDevice, hDriver;      BOOL bRet;        hDevice = CreateFile("\\\\.\\Phy

  • VC++实现CStdioFile写入及读取文件并自动换行的方法

    本文所述CStdioFile可实现在VC++中主要用来写入及读出文件的功能,继承自CFile类,它会自动处理 "\r\n",遇到"\n"自动添加\r并设置光标在当前行,它同时可以自动换行,不过使用CStdioFile在处理大文件时速度有些慢, 用CStdioFile写入读取文件实现代码如下: LPTSTR filter=_T("Playlist Files(.txt)|*.txt|"); CString tempPath; CFileDialog

  • c++实现逐行读取配置文件写入内存的示例

    不解析配置内容,只读取文件内容,剪去注释和首尾空格后写入缓存: vector<string> 中.供其他方法使用.代码是在做一个MFC小工具时写的. ReadProtocol.h 复制代码 代码如下: /*** 从文件中 读取 protocol 的内容 写入缓存* 供外部方法使用* Alex Liu, 2014*/ #pragma once #include <vector>#include <map>#include <list>#include <

  • C++实现读取特定路径下文件夹及文件名的方法

    本文所述实例代码主要实现读取给定路径下的所有文件夹名称或所有带后缀的文件名的功能.具体解决方法如下:   主要用到了以下几个头文件(类):io.h, fstream, string.   首先,读取某给定路径下所有文件夹与文件名称,并带完整路径.实现代码如下: void getAllFiles( string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo;

  • c语言读取csv文件和c++读取csv文件示例分享

    C读取csv文件 复制代码 代码如下: #include <stdio.h>#include <string.h> char *trim(char *str){    char *p = str;     while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')        p ++;    str = p;     p = str + strlen(str) - 1;     while (*p == ' ' ||

  • C++实现从输入中读取字符串

    你可以用这种方式读取一个单独的以空格结束的词: #include<iostream> #include<string> using namespace std; int main(){ cout << "Please enter a word:\n"; string s; cin>>s; cout << "You entered " << s << '\n'; } 注意,这里没有显式

  • C++实现读取图片长度和宽度

    看到一个用ASP写的读取图片文件的长度.宽度的程序,感觉有点意思,于是用C++也写了一个. #include <iostream> #include <fstream> #include <string> using namespace std; class CImage { private: long m_Width; long m_Height; int get_extension(string fname); public: CImage() { m_Width

  • c++读取sqlserver示例分享

    复制代码 代码如下: // ReadSqlConsole.cpp: 主项目文件. #include "stdafx.h"#include <iostream>#include<iostream>#include<iomanip>//for setw()#include"windows.h" #import "C:\Program Files\Common Files\System\ado\msado15.dll"

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

    今天在编写99乘法在线小游戏(看过我的 linux下c实现的数据库备份(第四版)应该知道我在那里提过^.^)的时候遇到读取文件的信息遇到回车换行符的烦恼. 比如我文件里面有如下信息: name=qizexi sex=man 我希望读取到name=qizexi这些有效字符而已,不希望\r\n也加入其中,因为那样会影响我的判断. 解决的方式是在遇到\r获取\n的时候,替换为\0. #include<string.h> #include<stdio.h> int main(int arg

  • C#中正则表达式与回车换行符问题

    C#中,读取文本文件内容,里面往往有许多回车换行符("\r\n"),虽然一般不可见,但却实实在在的存在.这时候,使用正则表示式进行匹配,需要考虑其存在.今天就遇到这样一个问题: 有文本文件内容如下: DT 20180101000000 WT -1.1 SL 31.4 WL 203 DT 20180101000000 AT -4.1 BP 1023.7 HU 26 RN 99999.9 WS 1.9 92 2.0 94 3.4 79 2111 4.6 83 2103 使用正则表达式: W

  • asp中回车换行符CHR(10)表示换行,CHR(13)表示回车,CHR(32)表示空格

    先举个例子 <% function th(str) str=replace(str,"妈的","MD") str=replace(str,"靠","KAO") th=str end function function encode(str) str = replace(str, ">", ">") str = replace(str, "<",

  • Java 替换字符串中的回车换行符的方法

    使用正则表达式进行替换: 代码片段: String documentTxt = EntityUtils.toString(entity,"gbk");//获取数据 documentTxt=documentTxt.replaceAll("[\\t\\n\\r]", "");//将内容区域的回车换行去除 说明:String类的replaceAll就有正则替换功能. \t为制表符 \n为换行 \r为回车 java正则使用: 示例方法: 复制代码 代码如

  • PHP 清除HTML代码、空格、回车换行符的函数

    复制代码 代码如下: function DeleteHtml($str) { $str = trim($str); $str = strip_tags($str,""); $str = ereg_replace("\t","",$str); $str = ereg_replace("\r\n","",$str); $str = ereg_replace("\r",""

  • PHP按行读取文件时删除换行符的3种方法

    PHP按行读取文件 去掉换行符"\n": 第一种: 复制代码 代码如下: $content=str_replace("\n","",$content);echo $content; 或者: 复制代码 代码如下: $content=str_replace(array("\n","\r"),"",$content); 第二种: 复制代码 代码如下: $content=preg_replace

  • oracle中去掉回车换行空格的方法详解

    去除换行update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(10),'');去掉回车update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(13),'');去掉空格update zhzl_address t set t.add_administration

  • Oracle除去数据中的换行符以免读取出现问题

    很多数据存进数据库后,可能需要将整条数据取出,并用特殊符号分割,而且整条数据必须是处于一行,如此,如果数据出现 换行的情况,那么读取时就有问题. 这个时候就需要对即将取出的数据做特殊的处理,也就是 除去里面的换行符号: replace(replace(columnName,CHR(10),''),chr(13),'') 补充: 特殊符号ascii定义 制表符 chr(9) 换行符 chr(10) 回车符 chr(13)

  • 正则表达式.号元字符(除了回车符\r和换行符\n)

    正则表达式.号元字符: 点号(.)元字符可以匹配除了回车符(\r)和换行符(\n)之外的任意字符. 语法结构: 构造函数方式: new RegExp(".") 对象直接量方式: [JavaScript] 纯文本查看 复制代码运行代码 /./ 浏览器支持: IE浏览器支持此元字符. 火狐浏览器支持此元字符. 谷歌浏览器支持此元字符. 注意: 在IE9以上浏览器或者其他标准浏览器中,小数点能够匹配除了回车符(\r)和换行符(\n)之外的任意字符. 在IE8以下浏览器中,小数点能够匹配除了换

  • python按行读取文件,去掉每行的换行符\n的实例

    如下所示: for line in file.readlines(): line=line.strip('\n') 以上这篇python按行读取文件,去掉每行的换行符\n的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python处理文本换行符实例代码 Python按行读取文件的简单实现方法 python去掉行尾的换行符方法 Python实现读取文件最后n行的方法 python去除空格和换行符的实现方法(推荐)

随机推荐