Направих проста програма на c++ за четене на файл
#include <string>
#include <iostream>
using namespace std;
int main()
{
string text;
getline(cin, text);
int textlength = 0;
textlength = text.length();
cout << text << endl;
cout << text[3] << endl;
cout << textlength << endl;
int number=0;
cout << "Enter a number: " << endl;
cin >> number;
}
Така че компилирам тази програма в Win 8.1 pro + mingw и всичко е наред. След това го стартирам, като пиша в cmd a.exe < sample.txt
. Компилираната програма и txt трябва да са в една и съща папка.
sample.txt е файл с този текст (някои произволни букви, цифри и т.н.):
iuhuefusifsduifhsdiufhfdliuhfdslhfdiufhfdslihfsdui 6 rer4 r4 r4t 4t46 t 4t43t 00 00 002 " & %
Всичко работи добре до точката с последния cin. Не мога да въведа число в този момент, защото процесът на въвеждане е пропуснат. Също така се опитах да прочета текста без функцията getline. Вместо това просто повторих cin процес и записах прогреса един по един в char. Работеше добре до командата cin в самия край. Пропусна го отново.
И идеи как да се реши този проблем?
<
, ако трябва да използватеcin
след това. Опитайте се да предадете името на файла чрез списък с аргументи и да го отворите чрезifstream
. - person masoud   schedule 13.04.2014