цель упражнения - получить информацию из файла и переписать ее в строку, которую можно сравнить с другими, созданными из того же файла.
Проблема в том, что я ' мы пытались сделать это с помощью getline (apri, riga), а затем пытались скопировать содержимое riga в другую строку, но это не работает. Список покупок содержит слова и числа с плавающей запятой, поэтому я решил проанализировать каждую строку файла и поместить каждую часть в отдельную строку / массив, но я не знаю, как это сделать, поскольку файл не имеет указанных размеров - AvengerScarlet 28 минут go
Хорошо, так что давайте рассмотрим одну проблему за другой. Во-первых, как передать аргументы в код - это не обязательно, но это один из ваших вопросов:
Это также связано с (int arg c, char * argv [] )? (строка, значение которой мне неясно)
#include <fstream>
#include <iostream>
using namespace std;
int main (int argc, char *argv[])
{
// argc should be 2 for correct execution, the program name
// and the filename
if ( argc != 2 )
{
// when printing out usage instructions, you can use
// argv[ 0 ] as the file name
cout << "usage: " << argv[ 0 ] << " <filename>" << endl;
}
else
{
// We assume argv[ 1 ] is a filename to open
ifstream the_file( argv[ 1 ] );
// Always check to see if file opening succeeded
if ( ! the_file.is_open() )
{
cout << "Could not open file " << argv[ 1 ] << endl;
return 1;
}
char x;
// the_file.get( x ) reads the next character from the file
// into x, and returns false if the end of the file is hit
// or if an error occurs
while ( the_file.get( x ) )
{
cout << x;
}
} // the_file is closed implicitly here by its destructor
return 0;
}
Предположим, у вас есть реальный список покупок, такой как: shoppinglist.txt содержит:
Stacks of Toilet paper
Oil
Bunch of noodlesS
Hand sanitizer
...
Этот код полностью работоспособен, и вы можете выполнить его, например, с помощью C:/program.exe c:/shoppinglist.txt
в зависимости от имени и местоположения, с которым вы его скомпилировали, адресует ваш вопрос об argv и чтении файла
PART 2
#
Может Я избегаю делать все это, если я просто пишу int main ()? Shure, выглядело бы так (отсюда) : мне нужны указатели? Я не могу их обработать ..
Нет, только если вы используете аргументы (* argv ...), так как это / должен быть указатель или указатель указателя
// basic file operations
#include <iostream>
#include <fstream>
using namespace std;
int main () {
ofstream myfile;
myfile.open ("example.txt");
myfile << "Writing this to a file.\n";
myfile.close();
return 0;
}
[file example.txt]
Writing this to a file.
ЧАСТЬ 3 #
цель упражнения - получить информацию из файла и переписать ее в строку, которую можно сравнить с другими, сделанными из того же самого file.
Есть много решений, я сначала попытался бы go из того, что я снабдил char, чтобы преобразовать его в строку, как описано здесь. https://www.techiedelight.com/convert-char-to-string-cpp/
Я полагаю, что не цель состоит в том, чтобы написать всю программу в качестве ответа для вас - я закончил с этим сообщением и жду комментариев к этому сообщению и вижу, как далеко вы получить то, что я предоставил, возможно, поможет вам в дальнейшем.