#include <string>
#include <algorithm>
#include <iostream>
int main()
{
string str;
string str1;
int h = 0;
cin >> str;
if (str.length() > 10)
{
str1 += str.front();
h = str.length() - 2;
string s = to_string(h);
str1 += s;
str1 += str.back();
cout << str1;
}
else cout << str;
return 0;
}
在XCode中编译,但不在codeforces.ru /
上 сan't compile program.cpp:
program.cpp: In function 'int main()':
program.cpp:23:21: error: 'std::string' has no member named 'front'
program.cpp:27:29: error: 'to_string' was not declared in this scope
program.cpp:32:21: error: 'std::string' has no member named 'back'
答案 0 :(得分:11)
有一点是自{+ C} 11以来引入string::front
和std::to_string
。您必须确保使用支持这些新功能的编译器。
答案 1 :(得分:5)
string::front
是在c ++ 11中引入的。在mac上确保你使用的是clang,因为g ++在osx上没有更新,并且使用命令行选项clang++ -std=c++11 your_program.cpp
。您可能还需要使用选项-stdlib=libc++