|
|
|
| Здравствуйте, уважаемые! Я в С++ новичек и опыта у меня никакого, точнее весь мой опыт - школьный курс, вот просто недавно наткнулся на ту часть в С++ где, мне нужно вводить в файл (например: text.txt) и читать из него, к сожалению я в этом разделе ничего незнаю. Если что, извените меня если я задаю сильно глупые вопросы...
Мне нужно написать фрагмент программы:
Ввести (записать) в файл (например: text.txt) текстовые значения, т.е. я ввожу два слова, это первая строка в файле, вторая строка - это вторые два слова и т.д.
Связаное с выводом (чтением) из файла:
Потом мне нужно подсчитать кол-во строк с парами, потом каждое слово записаное в файле мне нужно прочесть как отдельную переменную.
Заранее большое спасибо за любую помощь! | |
|
|
|
|
|
|
|
для: WarStalkeR
(24.09.2007 в 10:36)
| | Заполнить файл можно примерно следующим образом
#include <stdio.h>
#include <iostream.h>
using namespace std;
int main()
{
char input[80];
FILE *fp;
// Открываем файл
fp = fopen("filename.txt", "w");
if(fp == NULL)
{
cout << "Невозможно открыть файл: " << ferror(fp) << "\n";
return 1;
}
// Читаем строки, пока не будет введена
// пустая строка
while(1)
{
cout << "Введите строку ";
fgets(input, 80, stdin);
// Если первый символ или второй
// равны переводу строки - выходим
// из цикла (в UNIX перевод строки \n,
// в Windows - \r\n)
if(input[0] == '\n' || input[1] == '\n') break;
// Записываем полученную строку
// в файл
fprintf(fp ,"%s", input);
}
// Закрываем файл
fclose(fp);
return 0;
} |
| |
|
|
|
|
|
|
|
для: WarStalkeR
(24.09.2007 в 10:36)
| | Количество строк в файле можно подсчитать следующим образом
#include <iostream>
#include <stdio>
using namespace std;
int main()
{
FILE *fp;
// Открываем файл
fp = fopen("filename.txt", "r");
if(fp == NULL)
{
cout << "Невозможно открыть файл: " << ferror(fp) << "\n";
return 1;
}
const int LENGTH = 10000;
int count = 0;
char str[LENGTH];
// Подсчитываем количество строк в файле
while(!feof(fp))
{
fgets(str, LENGTH, fp);
count++;
}
cout << count << "\n";
// Закрываем файл
fclose(fp);
return 0;
}
|
| |
|
|
|
|
|
|
|
для: WarStalkeR
(24.09.2007 в 10:36)
| | >потом каждое слово записаное в файле мне нужно прочесть как отдельную переменную.
Вот это не очень понятно... обычно в массив помещают строки, чтобы потом было удобнее работать - вы что потом будете делать с полученными переменными? | |
|
|
|
|
|
|
|
для: cheops
(24.09.2007 в 14:29)
| | Вот допустим я ввел два слова: "alpha beta", именно так через пробел второе слово после первого. alpha - первая переменная, beta - вторая переменная, должен будет стоять некий флаг говорящий что alpha = beta, и при этом что бы они обе не изменялись, т.е. alpha оставалась alpha, а beta оставалась beta и при этом были равны друг другу. | |
|
|
|