#c #file-io
#c #file-io
Вопрос:
В настоящее время я разрабатываю приложение, которое получает входные данные из текстового файла и выполняет соответствующие действия. Концепция заключается в том, что входной файл будет содержать подробную информацию в этом формате
A AND B
B OR C
Каждая строка будет разделена пробелом, и входные данные должны быть взяты из текстового файла и обработаны логикой. Я использую компилятор TCPP и сталкиваюсь с проблемами при чтении входных данных. Пожалуйста, помогите мне с проблемой…
Комментарии:
1. было бы полезно, если бы вы опубликовали, какой код вы используете в данный момент, или это проблема HW?
2. итак, с какой проблемой вы сталкиваетесь при чтении входных данных?
3. Нет .. это не проблема HW.. Ошибка, которую я получаю, это «Ошибка чтения из файла», а также я не уверен, как получить построчный ввод из файла
4. Убедитесь, что файл, который вы читаете, существует, и убедитесь, что у вас есть разрешение на чтение этого файла из операционной системы.
5. Покажите нам код, в котором возникает проблема, и примеры входных файлов.
Ответ №1:
Чтение входных данных по строке за раз обычно выполняется с помощью std::&etline
, что-то вроде этого:
std::strin& line;
std::ifstream infile("filename");
while (std::&etline(line, infile))
// show what we read
std::cout << line << "n";
Если у вас возникли проблемы с подобными вещами, вы могли бы подумать о поиске (лучшей) книги по C , чем та, которую вы сейчас (надеюсь) используете.
Ответ №2:
Следующее может быть использовано сразу:
BOOL ReadFile(CStrin& filename)
{
BOOL bRead = TRUE;
std::ifstream m_strmFile;
m_strmFile.open(filename, std::ios::in);
char pszLine[256];
memset(pszLine, 256, 0);
if (m_strmFile)
{
// Read whatever number of lines in your file
for (unsi&ned int i = 0; i < 5/*number of lines*/; i )
m_strmFile.&etline(pszLine, 256);
// Do whatever you want to do with your read lines here...
}
else bRead = FALSE;
return bRead;
}
Комментарии:
1. Используются ли следующие символы в TCPP (Turbo C Plus Plus):
BOOL
,CStrin&
? Я полагаю, что это термины Microsoft.2. @ Thomas Вы правы. Эти термины взяты из MS VS. Что-нибудь не так? @ TCPP: пожалуйста, используйте bool и const char * вместо BOOL и CStrin& или typedef bool BOOL
Ответ №3:
используете ли вы файлы headr, такие как:
включить
или #include, и вы можете использовать функцию fileobject.&etline(), (проверьте ее правильный синтаксис.) в C или для char by char используйте функцию типа fileobject.&et(ch)