|
|
|
| я начинающий в с++ .
запускаю код из книги - "с++ мастер класс в задачах и примерах".
borland c++ v 3.1 ругается:
3: declaration syntax error
14 function strlen should have a prototype
35 function strlen should have a prototype
что ему не нравится? (понимаю что-то с -using namespace std; - но что конкретно? )
#include <iostream.h>
#include <stdio.h>
using namespace std;
int main()
{
const int LENGTH_STR = 80;
char input[LENGTH_STR];
// Читаем строку из стандартного потока ввода
cout << "Введите строку ";
fgets(input, LENGTH_STR, stdin);
// Удаляем перевод строки
input[strlen(input) - 1] = '\0';
// Имя файла
char *filename = "text.txt";
FILE *fp;
fp = fopen(filename, "r");
if(fp == NULL)
{
cout << "Невозможно открыть файл " << filename << ": "
<< ferror(fp) << "\n";
return -1;
}
const int LENGTH = 10000;
char str[LENGTH];
int i = 1;
// Выводим номера строк, в которых найдена подстрока input
while(!feof(fp))
{
fgets(str, LENGTH, fp);
if(strstr(str, input) != NULL) cout << i << "\n";
i++;
}
fclose(fp);
return 0;
}
|
| |
|
|
|
|
|
|
|
для: beginner-c++
(06.05.2007 в 11:30)
| | strlen описана в stdlib.h
а о namespace этот раритет, если не ошибаюсь, ничего не знает. | |
|
|
|
|
|
|
|
для: beginner-c++
(06.05.2007 в 11:30)
| | Надо подключить библиотеку для работы со строками... string.h. В ней находится функция strlen(). | |
|
|
|
|
|
|
|
для: Kostia89
(07.05.2007 в 17:41)
| | спасибо - все получилось! | |
|
|
|
|
|
|
|
для: beginner-c++
(07.05.2007 в 20:15)
| | Нафиг ваще намеспасе юзинк эстэдэ нужен? | |
|
|
|