導航:首頁 > 編程系統 > linuxc控制台清除字元

linuxc控制台清除字元

發布時間:2022-07-06 21:05:37

linux刪除文件中的字元

Linux文件中出現^M字元一般是因為這個文件曾經是在Windows系統中編輯保存的,在Windows中編輯保存的文本文件的回車符是CR和LF兩個符號,而Linux文件中的回車符只是一個LF符號,所以當Windows的文本文件放到Linux後,回車的位置會多出來一個^M的符號(Linux的文本文件在Windows上打開,在回車的位置上變成了一個方塊並且回車不會換行)。
去除^M字元的方法是在Linux上用dos2UNIX命令對文件進行轉換,將文本文件轉換為適合Linux的格式(也有的Linux發行版沒有安裝dos2UNIX命令,需要用yum install unix2dos或apt-get install unix2dos命令來安裝它,注意unix是小寫)。dos2UNIX命令的用法是:
dos2UNIX -k -n 原來的文件名 轉換後的新文件名
命令選項說明:
-k選項:表示保留文件原來的mtime時間格式,一般會加上這個參數
-n參數:保留舊文件並輸出到一個新文件
轉換後的新文件打開就沒有^M字元了。

㈡ 怎麼樣在linux命令行中刪除字元

linux下命令行刪除上一個字元使用ctrl-h,刪除游標到行首使用ctrl-u,刪除游標到行尾使用ctrl-k,跳轉到上一個單詞使用alt-b,跳轉到下一個單詞使用alt-f,跳轉到行首使用ctrl-a,跳轉到行尾使用ctrl-e,搜索歷史命令使用ctrl-r。以上這些是常用命令,目前我沒有找到刪除上一個單詞的快捷鍵(這個功能很常用),如果你找到了希望你告訴我。

㈢ linux下 C語言 怎麼給密碼顯示*並且按backspace的時候能消去輸入的字元

pass保存你輸入的密碼

char *password(char *pass)
{
char *cur = pass;
printf("請輸入長度不大於6的密碼:");
while(isprint(*cur = getch()))
{
printf("*");
cur++;
}
*cur = '\0';
return pass;
}

㈣ C中在控制台輸出字元串後,如何刪除其中的一部分

在控制台輸出的字元串是不能刪除的(輸入的話可以更改,直接用刪除鍵就可以),可以在程序中printf();函數中刪掉不想輸出的字元串。

㈤ linux中如何將文件里的控制字元正確去除

你們老師讓做一個編譯器,如果碰到你問題中所說的a.cpp,含有游標控制符,報錯是對的吧?
那麼你要問的是怎麼把a.cpp裡面的游標控制符去掉?
我不知道腳本怎麼寫,但是有一個簡單的方法,就是cat a.cpp
這樣能得到正確的顯示,然後選中顯示出來的內容,再cat > b.cpp,回車
然後按滑鼠中鍵粘貼剛才選中的內容,然後就ctrl+d
這樣b.cpp中的內容就是不含游標控制符的。

不知道是不是符合你的要求。
================================
我明白你的意思了。
我建議不要用cat,cat會把游標控制符也記錄下來。
另外,在我的shell裡面,通過cat > a.cpp,移動游標並不能真的把游標移到想要的地方,只是在原來顯示的文本後面顯示^[[A
之類的東西。這樣來修改源碼也太痛苦了……

或者,能不能調用vim之類的文本編輯器?這樣比較方便。

㈥ 刪除字元串的某個字元 linux

如果是 Linux 操作系統的話,使用 vi 屏幕編輯命令對文本文件內容進行編輯時,首先按下 ESC 鍵,把 vi 的編輯狀態轉換成命令狀態。然後通過移動鍵盤上的游標鍵,把游標定位在你需要進行刪除的任何一個字元上,然後再按小寫「x」,即可刪除掉游標所在的某個字元。

㈦ C語言 linux下刪除最後一個字元

#include
<stdio.h>
int
main(void)
{
printf("abcde");
printf("\b\b
\b\b");/*讓游標左移兩位(刪除兩個字元),注意中間有兩個空格*/
return
0;
}
******************************************************
如果有大量的對基內於字元界面的GUI操作,容建議使用cruses庫進行編程,裡面提供了豐富的基於文本的屏幕管理函數。
例如:
#include
<stdio.h>
#include
<curses.h>
int
main(void)
{
initscr();/*初始化curses*/
printw("abcde");/*輸出*/
refresh();
move(0,2);/*移動游標位置*/
insch('C');/*在游標當前位置插入字元*/
refresh();
endwin();/*結束curses編程*/
return
0;
}
(
gcc
a.c
-lcurses
)

㈧ Linux C語言如何清除輸入緩存

有的時候會遇到這樣的一個問題,程序如下
#include
int main(void)
{
int a;
char b;
scanf("%d".&a);
scanf("%c",&b);
printf("%d\n",a);
printf("%c\n",b);
}
如果在終端上輸入3
列印如下:
3
列印出一個3和一個空行,我們就輸入了一個3,本來還應該再輸入一個字元的,這是怎麼回事。
原因是當我們輸入3後又輸入了個回車,C語言取字元都是在字元輸入緩沖區中讀取的,我們輸入3後回車,C語言就把這個回車放在字元緩沖區中,所以第二個scanf讀取的是字元緩沖區中的內容。
如果要解決一個最簡單的方法就是把這個字元用getchar()讀出來拋掉,這個就可以讓我們第二次輸入字元了,但getchar()只能讀一個,如果字元緩沖區中的內容有多個,或者不知道多少個,這就不好辦了。
還有一種方法就是在scanf上做文章,C語言的scanf這個輸入函數是很奇怪的,如果我把第二個scanf改一下,改成scanf("
%c",&b);%c前面有個空格啊,這個空格是寫在前面的,也就是在我們要輸入之前,要讀空白字元並忽略掉,如果你不輸入一有效字元在終端不論按多少個回車空格tab等都是無效的,所以這樣的scanf可以幫我們輸入有效字元。
如果scanf寫成scanf(" %c
",&b);,前後都有一個空格,前加空格已經說過了,那後面加空格會出現什麼情,注意,如果在後加個空格,當我們輸入一個有效字元回車,發現還沒有輸完,還要繼續輸入,這怎麼回是。在後面加空格是把我們輸入有效字元後面的空白字元忽略了,此時我們必須要輸一個有效字元才能終止輸入。
再來說一下整型,如果把第一個scanf改成
int c ;
scanf("%d,%d",&a,&c);
輸入兩個整型的變數,且%d與%d這間有個,號。這種情況下,你在輸入第一個數字後必須原樣輸出一個,號,後面的輸入才有效,如果在輸入的時候不加,號,在你輸入第一個整型數據後,忽略其它所有字元和數字除了,號,加,號後,與緊跟,號後的數據被讀入到變數c中,大家可以試,當前,號可以是其它任可字元,%d前後都可以加其它字元,都要原樣輸出才行。
另外,還可通過加__fpurge(stdin)函數清空輸入緩沖區,此函數在頭文件中。

閱讀全文

與linuxc控制台清除字元相關的資料

熱點內容
linux賬戶設置密碼 瀏覽:69
查看資料庫各表記錄數 瀏覽:968
linux查看文件的行數 瀏覽:692
fpga約束文件如何自動生成 瀏覽:377
linux打開的文件數 瀏覽:973
win8修改公用網路 瀏覽:324
linuxlcrt 瀏覽:30
編程里res是什麼意思 瀏覽:616
dm80082版本固件 瀏覽:37
蘋果手機用什麼可以打開psd文件 瀏覽:627
服務號和小程序的區別 瀏覽:888
360手機助手qq文件位置 瀏覽:693
如何學習數碼編程 瀏覽:60
微信消息發布出去 瀏覽:377
windows文件名一個個消失 瀏覽:907
易語言設置文件所有者 瀏覽:197
iphone手機如何顯示wifi密碼 瀏覽:880
文山大數據 瀏覽:496
3dsrxtools怎麼升級 瀏覽:903
樂高的機器人編程是用什麼 瀏覽:542

友情鏈接