『壹』 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是分別讀到什麼結束
getchar 一次只讀取一個字元,不能是讀取字元串
直接從鍵盤讀取,輸入一個,它就接收一個。
不管是回車,還是空格,它統統讀取。
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退出循環,程序就退出了。
滿意請採納,謝謝