在C/C++中,在没有数组的单行中快速输入字符串

Fast input string in single line without array in C/C++

本文关键字:单行中 字符串 输入 数组 C++      更新时间:2023-10-16

我必须在单行中输入一次字符串,然后以最快的方式逐个字符迭代。我尝试了get、fgets、fread、scanf,但这些函数需要使用类似的数组:

char* array = new char[100000];
fgets(array,100000,stdin);
//gets(array);
//scanf("%[^n]s", array);

也许有一种更快的方法可以读取例如没有数组的行?我只需要使用每个字符一次。我试着用fgetc,但它不起作用。

char c;
while((c=fgetc(stdin))!='n'){
    if(c==' ') c=fgetc(stdin); // if char is a space go to next char from input
       //code
}

使用字符串。

#include <string>
#include <iostream>
using namespace std;
int main()
{
    string str;
    getline(cin, str);
    str[1];
    str[2];
    str[3];
    return 0;
}