|
|
|
|
|
для: Lelik
(26.11.2006 в 16:02)
| | Хм... а что хотите записывать? Для ввода вывода используется либо библиотека ввода-вывода C, либо библиотека вывода вывода C++. Порядок работы с файлами такой же как и в PHP, открываем файл, записываем или читаем информацию, закрываем файл. Например, следующая программа, запрашивает у пользователя строку и ищет в файле linux.words похожие слова (в стиле C)
#include <iostream>
using namespace std;
void strtolower(char *str);
int main()
{
FILE *fp;
// Максимальное количество символов
const int LENGTH = 80;
// Текущая строка
char current[LENGTH];
// Начальные символы строки
char prefix[LENGTH];
cout << "Введите строку ";
fgets(prefix, LENGTH, stdin);
fp = fopen("linux.words", "r");
if(fp == NULL)
{
cout << "Невозможно открыть файл: " << ferror(fp) << "\n";
return 1;
}
// Количество слов
int count_words = 0;
strtolower(prefix);
while(!feof(fp))
{
fgets(current, LENGTH, fp);
strtolower(current);
if(!strncmp(current, prefix, strlen(prefix) - 1))
{
cout << current;
count_words++;
}
}
fclose(fp);
cout << "Количество найденных слов - " << count_words << "\n";
return 0;
}
void strtolower(char *str)
{
for(char *ch = str; *ch; ch++)
{
*ch = tolower(*ch);
}
}
|
| |
|
|
|
|
|
|
|
для: cheops
(26.11.2006 в 16:16)
| | в двух словах: из файла сделать БД - запись данных в строку - разделитель табуляция, новая строка - новый раздел данных (на С++, пишу в Билдере 6) | |
|
|
|
|
|
|
|
для: Lelik
(26.11.2006 в 16:32)
| | Добавление нового раздела можно сделать следующим образом:
#include <iostream>
using namespace std;
int main()
{
char name[80];
char ch; // для Y/N
cout << "Новый раздел (Y/N) ";
cin >> ch;
do
{
cout << "\nName:"; // Название нового раздела
cin >> name;
FILE * fp;
fp = fopen("text.txt", "a");
if (fp == NULL) // Если файл не открылся
{
cout << "FILE ERROR";
getchar();
return 1;
}
fputs(name, fp); // Запись в файл
fputs("\n", fp); //табуляция
fclose(fp);
cout << "Новый раздел (Y/N) ";
cin >> ch;
}
while(ch == 'y');
getchar(); // задержка экрана
return 1;
}
|
Если нужно чтение, то отпишись ... | |
|
|
|