1.C语言处理空格的技巧
#include#include void main() { int i; int sum = 0; char ch; printf("请输入一串整数和任意数目的空格:"); while(scanf("%d",&i) == 1) { sum += i; while( ( ch = getchar() ) == ' '); if(ch == 'n') break; ungetc( ch, stdin ); } printf("结果是:%dn",sum); system("pause"); }
2.C++ >>的重载
#includeusing namespace std; int main() { int sum = 0; cout<<"请输入一串整数和任意数目的空格:"; int i; while( cin >> i )//cin是一个对象 { sum += i; while(cin.peek() == ' ') { cin.get(); } if(cin.peek() == 'n') { break; } } cout << "结果是:" << sum << endl; return 0; }
3.cin.ignore cin.getline
#includeusing namespace std; int main() { char buf[20]; cin.ignore(7); cin.getline(buf,10); //从数据流中得到一个长度为10的字符串,其中包含' ' cout << buf << endl; return 0; }
4.cin.peek cin.get
#includeusing namespace std; int main() { char p; cout <<"请输入一段文本:n"; while( cin.peek() != 'n') { cout << (p = cin.get()); //从数据流中提取一个字符 } cout << endl; return 0; }
5.cin.gcount cin.read
#includeusing namespace std; int main() { const int SIZE = 50; char buf[SIZE]; //每次cout都会另起一行 endl则会回车 cout <<"请输入一段文本:"; cin.read(buf, 20);//读取20个到buf中 cout <<"字符串收集到的字符数为:" <



