string.find、char[]、cin.getline

简介: string.find、char[]、cin.getline

若查找成功,返回按查找规则找到的第一个字符子串的位置;若查找失败,返回npos,即-1(打印出来为4294967295)。

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main()
{
   
    string str="hello world llo";
    int n=str.find("llo");
    cout<<n<<endl;//返回llo在str中第一次出现的位置下标 

    int pos=str.find("llo", 3);//从下标为3的地方开始匹配 
    cout<<pos;
    return 0;
}
#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
using namespace std;

int main(){
   
    char str[16];
    strcpy(str, "hello");
    //可以将char数组直接赋值给string 
    string str1 = str;    cout<<str1<<endl;
    //通过构造函数赋值string 
    string str2(str);    cout<<str2<<endl;
    //string转成char数组 
    const char *str3 = str1.c_str();
    printf("%s\n", str3);
    return 0;
}

读取一行字符串(中间可能有空格)

#include <iostream>
#include <cstring>
#include <string>
using namespace std;

int main(){
   
    int n;
    while (scanf("%d", &n)!=EOF){
   
        cin.get();    //scanf不读入换行,用cin.get()读入 。如果没有scanf,就可以直接cin.getline
        char str[64];
        while (n--){
   
            cin.getline(str, 64);
            cout<<str<<endl;
        }
    }
    return 0;
}
相关文章
|
2月前
|
C++
【C++】std::string 转换成非const类型 char* 的三种方法记录
【C++】std::string 转换成非const类型 char* 的三种方法记录
28 0
|
8月前
char[] 转String时的陷阱
char[] 转String时的陷阱
25 1
|
9月前
|
存储 自然语言处理 Java
Java_9_为何要将_String_的底层实现由_char[]_改成了_byte[]_?
Java_9_为何要将_String_的底层实现由_char[]_改成了_byte[]_?
|
12月前
|
存储 Java 索引
String和Char的区别
String和Char的区别
338 1
|
11月前
|
Java
Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
Java中 String与基本数据类型,包装类,char[],byte[]之间的转换
68 0
编写一个程序,链接两个字符串字面常量,将结果保存在一个动态分配的char数组中,重写这个程序,连接两个标准string对象
编写一个程序,链接两个字符串字面常量,将结果保存在一个动态分配的char数组中,重写这个程序,连接两个标准string对象
【剑指offer知识点】List转int[],List转String,String转int,char[]转String,String 转char[],List转String[]
【剑指offer知识点】List转int[],List转String,String转int,char[]转String,String 转char[],List转String[]
108 0
|
JavaScript Java 数据库
UTF-8 GBK UTF8 GB2312之间的区别和关系,Java中String和byte[]间的转换,byte 是怎样转为汉字,汉字转byte的;char与
UTF-8 GBK UTF8 GB2312之间的区别和关系,Java中String和byte[]间的转换,byte 是怎样转为汉字,汉字转byte的;char与
309 0
UTF-8 GBK UTF8 GB2312之间的区别和关系,Java中String和byte[]间的转换,byte 是怎样转为汉字,汉字转byte的;char与
|
存储 测试技术 C语言
C语言中字符串之间的比较【char*】/【string】
C语言中字符串之间的比较【char*】/【string】
976 0
C语言中字符串之间的比较【char*】/【string】
字符串String截取字符char
字符串String截取字符char
109 0
字符串String截取字符char