C++讀取到回車換行符問題處理
更新時(shí)間:2015年08月09日 15:42:10 投稿:hebedich
有一個(gè)程序只需對(duì)輸入的一行字符一個(gè)個(gè)進(jìn)行獨(dú)立判斷,C的話用getchar()就好了,但是用C++的時(shí)候發(fā)現(xiàn)CIN似乎不接受回車符……搜索解決方法的時(shí)候很多人都建議將getline,然后處理數(shù)組或者定義一個(gè)流什么的,但是這樣一行可能很長,要占用很多空間。有沒有別的辦法?
今天在編寫99乘法在線小游戲(看過我的 linux下c實(shí)現(xiàn)的數(shù)據(jù)庫備份(第四版)應(yīng)該知道我在那里提過^.^)的時(shí)候遇到讀取文件的信息遇到回車換行符的煩惱。
比如我文件里面有如下信息:
name=qizexi sex=man
我希望讀取到name=qizexi這些有效字符而已,不希望\r\n也加入其中,因?yàn)槟菢訒?huì)影響我的判斷。
解決的方式是在遇到\r獲取\n的時(shí)候,替換為\0.
解決的方式是在遇到\r獲取\n的時(shí)候,替換為\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; }
您可能感興趣的文章:
相關(guān)文章
C++實(shí)現(xiàn)讀取特定路徑下文件夾及文件名的方法
這篇文章主要介紹了C++實(shí)現(xiàn)讀取特定路徑下文件夾及文件名的方法,需要的朋友可以參考下2014-07-07剖析C++編程中friend關(guān)鍵字所修飾的友元函數(shù)和友元類
這篇文章主要介紹了剖析C++編程中friend關(guān)鍵字所修飾的友元函數(shù)和友元類,友元了以后在外部就可以訪問到正常情況下無法訪問到的私有屬性和方法,需要的朋友可以參考下2016-01-01c++將字符串轉(zhuǎn)數(shù)字的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于c++將字符串轉(zhuǎn)數(shù)字的實(shí)例方法,有需要的朋友們可以參考下。2020-02-02QTableWidget設(shè)置只讓某一列可編輯的實(shí)現(xiàn)
本文介紹了如何將QTableWidget的某一列設(shè)置為可編輯,以便用戶可以輸入自定義數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08Qt出現(xiàn)假死凍結(jié)現(xiàn)象的原因及解決方法
應(yīng)用程序出現(xiàn)假死或凍結(jié)現(xiàn)象通常是由于一些常見問題所導(dǎo)致的,本文主要介紹了Qt出現(xiàn)假死凍結(jié)現(xiàn)象的原因及解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10