char strUserName[256]转std::string
时间: 2023-11-20 20:05:37 浏览: 36
可以使用std::string的构造函数将char数组转换为std::string类型,如下所示:
```c++
char strUserName[256] = "John Smith";
std::string username(strUserName);
```
这将把`strUserName`数组中的字符转换为std::string类型的字符串,存储在`username`变量中。如果`strUserName`中的字符不是以null结尾的字符串,则需要指定字符串的长度,如下所示:
```c++
char strUserName[256] = {'J', 'o', 'h', 'n', ' ', 'S', 'm', 'i', 't', 'h'};
std::string username(strUserName, 10);
```
其中,第二个参数10表示字符串的长度为10。
相关问题
public void onClick(View v) { String strUserName = login_edit_account.getText().toString().trim(); String strPassWord = login_edit_pwd.getText().toString().trim(); if (strUserName.equals("123") && strPassWord.equals("123")) { Toast.makeText(MainActivity.this, "登录成功!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this, Hmoe.class); startActivity(intent); } else { Toast.makeText(MainActivity.this, "输入错误,请重新输入", Toast.LENGTH_SHORT).show(); } }使用了什么方法
这段代码中使用了一个方法:`Toast.makeText()`。这个方法是用来创建一个Toast对象,并在屏幕上显示一段文本。其中,`MainActivity.this`表示当前Activity的上下文,`"登录成功!"`和`"输入错误,请重新输入"`是要显示的文本内容,`Toast.LENGTH_SHORT`表示Toast显示的持续时间为短暂的时间。当用户点击登录按钮时,会执行这段代码,并根据输入的账号和密码判断是否登录成功,如果登录成功,则创建一个Intent对象,并启动一个新的Activity(Hmoe.class),否则会显示一个Toast提示输入错误。
package com.example.cuiyong_04; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class SignUp extends Activity { // 调用Actvity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sign_up);//关联activity_register.xml // 关联用户名、密码、确认密码、邮箱和注册、返回登录按钮 EditText userName = (EditText) this.findViewById(R.id.UserNameEdit); EditText passWord = (EditText) this.findViewById(R.id.PassWordEdit); EditText passWordAgain = (EditText) this.findViewById(R.id.PassWordAgainEdit); EditText email = (EditText) this.findViewById(R.id.EmailEdit); Button signUpButton = (Button) this.findViewById(R.id.SignUpButton); Button backLoginButton = (Button) this.findViewById(R.id.BackLoginButton); // 注册按钮监听器 signUpButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { String strUserName = userName.getText().toString().trim(); String strPassWord = passWord.getText().toString().trim(); String strPassWordAgain = passWordAgain.getText().toString().trim(); String strPhoneNumber = email.getText().toString().trim(); //注册格式粗检 if (strUserName.length() > 10) { Toast.makeText(SignUp.this, "用户名长度必须小于10!", Toast.LENGTH_SHORT).show(); } else if (strUserName.length() < 4) { Toast.makeText(SignUp.this, "用户名长度必须大于4!", Toast.LENGTH_SHORT).show(); } else if (strPassWord.length() > 16) { Toast.makeText(SignUp.this, "密码长度必须小于16!", Toast.LENGTH_SHORT).show(); } else if (strPassWord.length() < 6) { Toast.makeText(SignUp.this, "密码长度必须大于6!", Toast.LENGTH_SHORT).show(); } else if (!strPassWord.equals(strPassWordAgain)) { Toast.makeText(SignUp.this, "两次密码输入不一致!", Toast.LENGTH_SHORT).show(); } else if (!strPhoneNumber.contains("@")) { Toast.makeText(SignUp.this, "邮箱格式不正确!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(SignUp.this, "注册成功!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(SignUp.this, MainActivity.class); startActivity(intent); } } } ); // 注册按钮监听器 backLoginButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(SignUp.this, MainActivity.class); startActivity(intent); } } ); } } 添加一个sharedprefence存储输入的东西,并添加接口
首先,你可以在SignUp类中添加一个SharedPreferences对象,用于存储用户输入的数据。在onCreate()方法中添加以下代码:
```
SharedPreferences sharedPreferences = getSharedPreferences("user_info", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
```
接着,你可以在注册按钮的监听器中添加以下代码,将用户输入的数据存储到SharedPreferences中:
```
editor.putString("username", strUserName);
editor.putString("password", strPassWord);
editor.putString("email", strPhoneNumber);
editor.apply();
```
最后,你需要添加一个接口来获取SharedPreferences中存储的数据。你可以在SignUp类中添加以下方法:
```
public interface OnSignUpListener {
void onSignUp(String username, String password, String email);
}
public void setOnSignUpListener(OnSignUpListener listener) {
String username = sharedPreferences.getString("username", "");
String password = sharedPreferences.getString("password", "");
String email = sharedPreferences.getString("email", "");
listener.onSignUp(username, password, email);
}
```
这个方法可以用来设置一个OnSignUpListener对象,并在对象的onSignUp()方法中获取SharedPreferences中存储的数据。这样,你就可以在其他地方调用setOnSignUpListener()方法来获取用户输入的数据了。