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

时间:2014-10-14 19:28:26

标签: c++ c arrays

我必须在单行中输入一次字符串,然后以最快的可能方式通过char迭代char。 我尝试了gets,fgets,fread,scanf,但是这些函数需要使用像那样的数组:

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

Mayby有更快的方式来读取没有数组的行吗? 我只需要使用每个char一次。 我尝试使用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
}

1 个答案:

答案 0 :(得分:-1)

使用字符串。

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

int main()
{
    string str;
    getline(cin, str);
    str[1];
    str[2];
    str[3];
    return 0;
}