@[chenpengda](/user/136931) 不习惯,还有别的吗?
by yangzhiqin @ 2019-12-13 20:45:48
```cpp
for(int i=0;i<s.size();i++)
putchar(s[i]);
```
by JS_TZ_ZHR @ 2019-12-13 20:45:51
@[yangzhiqin](/user/140411) printf("%s",s.data());
by qsmoonzh @ 2019-12-13 20:46:07
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[10];
gets(a);
puts(a);
return 0;
}
```
by chenpengda @ 2019-12-13 20:48:13
@[chenpengda](/user/136931) gets不是有漏洞吗?
by 已注销HeBhs37KwrDer @ 2019-12-13 20:55:41
~~溜了溜了~~
by chenpengda @ 2019-12-13 21:09:06
```
scanf(" %s",str);
scanf(" %s",str+1);//下标从1开始
```
by ywr8 @ 2019-12-13 21:21:25
可以考虑读入char数组,随后用char数组来初始化string
唯一用处就是防止使用cin吧……
```cpp
#include <cstdio>
#include <string>
using namespace std;
const int maxlen = 100000;
void read(char *s)
{
static char c;
for(c = getchar();c<'a'||c>'z';c=getchar());
for(;c>='a'&&c<='z';*++s=c,c=getchar());
*++s = '\0';//注意加一个终止符避免重复读入出错
}
//如果想要读入一整行的话:
void readline(char *s)
{
static char c;
for(c = getchar();c == '\n' || c == '\r';c=getchar());
for(;c != '\n' && c != '\r';*++s = c,c=getchar());
*++s = '\0';
}
char buf[maxlen];
int main()
{
readline(buf);
string s = string(buf+1);
for(string::iterator it = s.begin();it!=s.end();++it)
putchar(*it);
return 0;
}
```
by Clouder @ 2019-12-13 21:36:55