當前位置:首頁 » 編程語言 » c語言讀取字元串時怎麼停止
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言讀取字元串時怎麼停止

發布時間: 2022-06-18 01:38:28

『壹』 c語言 當字元串在讀到$$$$時,停止讀取操作

gets從標准輸入設備讀字元串函數。可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。

從stdin流中讀取字元串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字元數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為『\0』空字元,並由此來結束字元串。

讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。

『貳』 C語言 字元串停止工作

password沒配內存 聲明改char password[漆];或者 char *password=(char *)malloc(漆*sizeof(char))

『叄』 C語言問題,輸入一串字元時,scanf和getchar是分別讀到什麼結束

  1. getchar 一次只讀取一個字元,不能是讀取字元串

    直接從鍵盤讀取,輸入一個,它就接收一個。

    不管是回車,還是空格,它統統讀取。

  2. scanf 可以一次讀取一個字元串或多個字元串

    它是讀取輸入緩沖區,當輸入回車後 才開始執行讀取

    如果是一次讀入多個字元串,讀取字元串的結束 和讀入格式有關系

    例如:scanf("%s %s",s1,s2) 執行時 遇到空格符後S1結束,剩餘的字元串就給S2了

    scanf("%s,%s",s1,s2) 這個輸入字元串時,需要用逗號將兩個字元串隔開。

    ------------

    我解釋的也不是很全面,希望對你有所幫助,很高興和你一起討論和學習C/C++

『肆』 讀取字元串如何藉助EOF結束輸入(C語言問題)

可以通過scanf讀取字元串,然後根據scanf的返回值確認是否讀到EOF。
當輸入正確是,scanf會返回輸入的變數個數,當遇到EOF時,會返回EOF。
於是代碼可以寫作
while(scanf("%s",str) != EOF)//輸入,直到遇到EOF結束。
{
//使用輸入的數據str。

}

『伍』 c語言如何從文件中讀入任意長度飛字元串,遇到tab就自動停止讀入

你說的意思是說遇到換行符停止,或者讀下一行?
那就這樣讀

FILE *fin;
char *one_line;
one_line = (char*)malloc( MAX_LINE_SIZE * sizeof(char) );
if((fin = fopen(argv[1], "r"))==NULL)
{
printf("can not open file %s !\n", argv[1]);
exit(-1);
}

while( fgets(one_line, MAX_LINE_SIZE, fin) != NULL )
{
printf("讀一行列印一行%s",one_line);

}

fclose(fin);

『陸』 c語言中如何在讀入字元串時如何遇到指定字元結束

標准C中沒有提供這樣的函數,可以自定義一個這樣的函數,以實現getline()函數的功能。參考代碼如下:
int get_str( char *s, int size, const char ch='\n' ) //如果不輸入第三個參數,默認為回車符
{
int i;
for( i=0;i<size-1;i++ )
{
s[i]=getchar(); //讀入一個字元
if ( s[i] == ch ) //遇到指定字元,結束輸入
break;
}
s[i]='\0'; //字元串結束符
return i; //返回讀入字元串數據的長度
}
void main()
{
char str[10];
get_str( str, sizeof(str), '#' ); //以#結束
printf("input is :%s\n", str );
fflush(stdin); //清除緩存中的殘余數據

get_str( str, sizeof(str) ); //以回車結束
printf("input is :%s\n", str );
}

『柒』 C語言如何從文件讀入一個帶空格的字元串不知道具體長度,以回車終止

用fgets就可以了
原型是char
*fgets(char
*s,
int
n,
FILE
*stream);
從流中讀取n-1個字元,除非讀完一行,參數s是來接收字元串,如果成功則返回s的指針,否則返回NULL
char
t[100];
fp=fopen("file","r");
fgets(t,81,fp);
//從fp文件中讀入80個字元,如果遇到回車或不足80個,就結束讀取.

『捌』 C語言怎麼用循環輸入一個字元串,遇到特定字元停止(『@』) 123abc@

charch;
while((ch=getchar())!='@')
...

『玖』 C語言 讀取字元串問題

char *a[1000]={NULL}, 這里a是個指針數組

for (i = 0; hold[0] != 10; i++) //hold中不可能有'\n'!!!!
{
a[i] = hold; //這里將每個a[i]都指向了hold,想要做什麼? 你看到的當然全是hold啊
scanf("%s", hold);
}
看完整個程序也沒有看明白你想干什麼

『拾』 c語言怎樣輸入一串字元讓程序停止

你好
很高興為你解答

答案是:將讀入的字元串與你預設的字元串(比如exit)作比較,如果相同就break退出循環,程序就退出了。

滿意請採納,謝謝