Форум программистов, компьютерный форум CyberForum.ru

ошибка 4996 strncpy - C++

Восстановить пароль Регистрация
 
htx
-169 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 126
16.02.2014, 11:54     ошибка 4996 strncpy #1
#include<iostream>
#include<Windows.h>
#include<fstream>
#include<cstring>
#include<cstdlib>
#include <conio.h>
#include <stdio.h>
#include<string.h>

using namespace std;
int main(){
setlocale(0, "");
const int l_name = 30, l_year = 5, l_pay = 10, l_buf = l_name + l_year + l_pay;
struct Man{
int birth;
char name[l_name+1];
float pay;
};
const int dbase_= 150;
Man dbase[dbase_];
char buf[l_buf+1];
char name[l_name+1];
ifstream fin("text.txt");
if (!fin){ cout << "Error"; return 1; };
int i = 0;
while (fin.getline(buf, l_buf)){
if (i >= dbase_){ cout << "long"; return 1; };
strncpy(dbase[i].name ,buf, l_name);
dbase[i].name[l_name] = '\0';
dbase[i].birth = atoi(&buf[l_name]);
dbase[i].pay = atof(&buf[l_pay]);
i++;
}
int record = i, man = 0;
float mean_pay = 0;
while (true){
cout << "Введите фамилию и слово end:";
cin >> name;

if (strcmp(name, "end") == 0) break;
bool not_found = true;
for (int i = 0; i < record; i++){
if ( strstr(dbase[i].name,name) )
if (dbase[i].name[strlen(name)] == ' '){
cout << dbase[i].name << dbase[i].birth << ' ' << dbase[i].pay << endl;
not_found = false;
}
}
if (not_found) cout << "fail";
}
if (man>0) cout << "Sredniy:" << mean_pay / man << endl;

}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 11:54     ошибка 4996 strncpy
Посмотрите здесь:

про strncpy () C++
strncpy C++
C++ Странности в поведении strncpy
C++ Задание по копированию строк, strncpy
C++ Ошибка в функции (strncpy)
C++ Работа со строками ( разбить строку на N заданных частей с помощью strncpy)
C++ Ошибка предположительно в strncpy(word, p1, len)
Напишите варианты библиотечных функций strncpy, strncat и strncmp C++
Аналог strncpy и strncmp для типа string C++
Поведение функции strncpy C++
Как работает strncpy()? C++
Функция strncpy не работает на строках длинее трех символов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
16.02.2014, 12:12     ошибка 4996 strncpy #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
strncpy_s
htx
-169 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 126
16.02.2014, 12:19  [ТС]     ошибка 4996 strncpy #3
проблема решилась тему можно закрывать.добавил strncpy_s ,это работает и для strcpy,
Yandex
Объявления
16.02.2014, 12:19     ошибка 4996 strncpy
Ответ Создать тему
Опции темы

Текущее время: 09:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru