如果使用注释掉的那一行,注释掉其前面的 cin >> str 的话 , 则两个文件里的都打印出来了

#include "iostream"using namespace std ;int main()
{	char str[128] ;

	freopen( "a.txt" , "r" , stdin ) ;
	cin >> str ;
	cout << str << endl ;
	fclose(stdin) ;


	freopen( "b.txt" , "r" , stdin ) ;
	cin >> str ;	//scanf( "%s" , str ) ; 如果用scanf 是可以的
	cout << str << endl ;	
	return 0 ;
}

a.txt 里只有一行字符串 “aaaaaaaaaaaaaaa”
b.txt 里只有一行字符串 “bbbbbbbbbbbbbbb”
但是只看输出 a.txt 里的 求解。


幕布斯7119047
浏览 117回答 1
1回答

慕尼黑的夜晚无繁华

#include&nbsp;"iostream"#include<stdio.h>using&nbsp;namespace&nbsp;std&nbsp;; int&nbsp;main() { char&nbsp;str[128]&nbsp;; freopen(&nbsp;"a.txt"&nbsp;,&nbsp;"r"&nbsp;,&nbsp;stdin&nbsp;)&nbsp;; cin&nbsp;>>&nbsp;str&nbsp;; cout&nbsp;<<&nbsp;str&nbsp;<<&nbsp;endl&nbsp;; fclose(stdin)&nbsp;; freopen(&nbsp;"b.txt"&nbsp;,&nbsp;"r"&nbsp;,&nbsp;stdin&nbsp;)&nbsp;; cin&nbsp;>>&nbsp;str&nbsp;; //scanf(&nbsp;"%s"&nbsp;,&nbsp;str&nbsp;)&nbsp;;&nbsp;如果用scanf&nbsp;是可以的 cout&nbsp;<<&nbsp;str&nbsp;<<&nbsp;endl&nbsp;;&nbsp;&nbsp;&nbsp; return&nbsp;0&nbsp;; }
打开App,查看更多内容
随时随地看视频慕课网APP