我必须从中读取大量字符串,stdin
因此时间是一个关键问题。字符串在连续的行上并且没有空格,所以我可以简单地使用 while(cin>>str) { //code }
,但这非常慢。我听说 scanf 比 cin 快得多,但如果我使用 scanf("%s,str)
我认为 str 被视为char*
而不是 C++ string
,所以我不能使用 STL。我可以将输入作为 char* 并将所有字符复制到 C++ 字符串中,但 IMO 也会很慢。
有没有办法使用 scanf 或其他方法获取输入,但结果仍然是 C++ 字符串?