(no subject)
Dec. 1st, 2006 08:39 pmНет, я этого не понимаю.
Только-только нашла вроде приличного программера в бывшую контору, вполне даже приличного, приехала сегодняпримус починять неработающую функцию проверять и упала.
В элементарном коде -открыл файл, считал, при необходимости дописал, при необходимости стер- ни одной строчки без ошибок.
Без слез не взглянешь.
Причем ошибки тупейшие, типа пытаться результатом fscanf получить EOF.
Если б я не видела его код раньше, решила бы, что писал кретин с признаками шизофрении.
Но я его код видела - вполне даже профессионально.
И что это было???
Только-только нашла вроде приличного программера в бывшую контору, вполне даже приличного, приехала сегодня
В элементарном коде -открыл файл, считал, при необходимости дописал, при необходимости стер- ни одной строчки без ошибок.
Без слез не взглянешь.
Причем ошибки тупейшие, типа пытаться результатом fscanf получить EOF.
Если б я не видела его код раньше, решила бы, что писал кретин с признаками шизофрении.
Но я его код видела - вполне даже профессионально.
И что это было???
no subject
on 2006-12-01 07:13 pm (UTC)И то и другое мне ужасно не нравится :((
no subject
on 2006-12-01 07:15 pm (UTC)no subject
on 2006-12-01 07:28 pm (UTC)Что бы лично ты подумал в такой ситуации - вот есть человек, ты уверен, что неплохой спец, а он тебе - дважды два восемь, гордо так, ну или что-то подобное?
no subject
on 2006-12-01 09:22 pm (UTC)no subject
on 2006-12-02 09:46 am (UTC)Принцип-то один, если кто-то не сделает, придется один фиг делать мне :((
no subject
on 2006-12-02 12:23 pm (UTC)Был у меня такой орел. Сокол даже. Он просто зазубрил то, что его спросили на интервью (как он узнал - другая история), показав вполне приемлемый процент незнания. В дальнейшей работе оказался абсолютно непригодным профессионально, был уволен с испытательного срока.
no subject
on 2006-12-02 12:59 pm (UTC)Если честно у меня уже подозрение, что это просто демонстрация перед чем-то.
Блин, я этого-то искала почти полгода, где я нового найду.
Ты просто не представляешь квалификацию современных израильских программеров со стажем до 2 лет - это, блин, трехмесячные курсы и куча гонора, а за больший стаж начальство платить не желает :(((
no subject
on 2006-12-02 05:56 pm (UTC)no subject
on 2006-12-02 01:07 pm (UTC)no subject
on 2006-12-03 01:07 pm (UTC)ведь откуда мы можем знать что "он - неплохой спец"? Есть два варианта. Или по совместной работе с ним (1), или по впечатлению (2). Если он мне говорит что 2х2=8 в случае (2), то это - каждый день. Впечатление создается невербалистикой и является эмоциональной категорией. Если он твердо знает, что 2х2=8, и уверен в себе и уверен в том, что это знание сакрально - он будет этой уверенностью заражать других людей и слыть "неплохим спецом". Это вот и есть тот неадекват, с которым я часто встречаюсь. Очень часто. Таких людей приходится с радостью выбрасывать.
Если он утверждает что 2х2=8 в случае (1), то имеем дело со сгоревшим профессионалом. И такое бывает, когда реально неплохой спец теряет способность к развитию и все, начинает падать. Таких людей приходится с сожалением выбрасывать.
no subject
on 2006-12-01 09:24 pm (UTC)no subject
on 2006-12-02 09:49 am (UTC)no subject
on 2007-01-04 12:22 pm (UTC)Абсолютно согласен! И самое обидное что таким идиотам дают MSDN писать ;))))))
Function Required Header Compatibility
fscanf
Абсолютно согласен! И самое обидное что таким идиотам дают MSDN писать ;))))))
Function Required Header Compatibility
fscanf <stdio.h> ANSI, Win 95, Win NT
fwscanf <stdio.h> or <wchar.h> ANSI, Win 95, Win NT
For additional compatibility information, see Compatibility in the Introduction.
Libraries
LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version
Return Value
Each of these functions returns the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned. A return value of 0 indicates that no fields were assigned. If an error occurs, or if the end of the file stream is reached before the first conversion, the return value is EOF for fscanf or WEOF for fwscanf.
no subject
on 2007-01-04 12:32 pm (UTC)И таки попробуйте написать пример для сего опуса, потом поглядим, ОК?
no subject
on 2007-01-04 01:18 pm (UTC)"пытаться результатом fscanf получить EOF" - не ошибка - если верить документации ;). Ну да бог с ним ;)
Можно вопрос? Что значит "нахождением метки EOF"? ;)
no subject
on 2007-01-04 01:26 pm (UTC)if(fscanf(file,"%d %d %d", &n1, &n2, &n3) != EOF)
{
сделай чего-нибудь умное
}
не?
Давайте мы не будем упражняться в остроумии, у меня опыта все-таки чуть больше, напишите чисто для себя вот такой примерчик и посмотрите как себя поведят тот самый fscanf и уверены ли Вы, что полученный результат будет совпадать с ожидаемым по MSDN
И таки спасибо, пожалуй я этот вопрос включу в опросник для собеседований.
no subject
on 2007-01-04 02:43 pm (UTC)#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *f = fopen("fscanf_test.txt", "r");
if(f)
{
int flag = 1;
int n1, n2, n3, retVal;
while(flag)
{
if((retVal=fscanf(f, "%d %d %d", &n1, &n2, &n3)) != EOF)
printf("n1 = %d, n2 = %d, n3 = %d [retVal = %d]\n", n1, n2, n3, retVal);
else
flag = 0;
}
}
return 0;
}
Файл fscanf_test.txt для примера:
1 2 3
4 5 6
7
Output:
n1 = 1, n2 = 2, n3 = 3 [retVal = 3]
n1 = 4, n2 = 5, n3 = 6 [retVal = 3]
n1 = 7, n2 = 5, n3 = 6 [retVal = 1]
В чём проблема?
no subject
on 2007-01-04 02:55 pm (UTC)fclose(f);
no subject
on 2007-01-04 03:04 pm (UTC)Во-первых - Вы проверяете что именно Вы получаете из fscanf.
И только после этого идет проверка на EOF, не?
Это несколько отличается от того, что я написала, не правда ли?
Если бы изначально в коде сего вьюноши был такой текст, то и поста бы не было.
Во-вторых - Поэксперементируйте с этим кодом, скажем в двух трейдах написать-считать-стереть-создать с одним и тем же файлом и поймете, что не все так уж примитивно :))
no subject
on 2007-01-04 03:32 pm (UTC)2. синхронизированный доступ к файлу позволяет выполнять требуемые операции из более чем 1 thread
no subject
on 2007-01-04 03:41 pm (UTC)А теперь представь, что положим n1 и n2 к примеру координаты машины, а n3 - улица на которой эту машину будут искать и данные обновляются раз в полчаса - куда мы службу помощи ушлем в последнем варианте????
2. Смотри, ошибка большинства начинающих программеров - они всегда считают, что все будет идеально.
Представь ситуацию - обычная функция, пишет что-то в файл, закрывает и считывает что написано.
А теперь представь, что по какой-то причине файл не закрылся - причин может быть миллион, и тут вступает твоя функция. Угадай результаты :)))
(no subject)
Posted by (Anonymous) - on 2007-01-04 04:01 pm (UTC) - Expand(no subject)
Posted by(no subject)
Posted by(no subject)
Posted by(no subject)
Posted by(no subject)
Posted byНичего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byПо прежнему ничего личного :))
Posted byПо прежнему ничего личного :)))
Posted byRe: По прежнему ничего личного :)))
Posted byRe: По прежнему ничего личного :)))
Posted byRe: По прежнему ничего личного :)))
Posted byRe: По прежнему ничего личного :)))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byRe: Ничего личного :))
Posted byИ снова ничего личного :)))
Posted byRe: И снова ничего личного :)))
Posted byRe: И снова ничего личного :)))
Posted byRe: И снова ничего личного :)))
Posted byRe: И снова ничего личного :)))
Posted byno subject
on 2007-01-04 02:50 pm (UTC)int main(int argc, char* argv[])
{
FILE *file = NULL;
int n1,n2,n3;
file = fopen( "myTest.txt", "w+" );
if(NULL != file)
{
if(EOF == fscanf(file,"%d %d %d", &n1, &n2, &n3))
{
printf("we will never go here , MSDN is bad!! ");
}
}
return 0;
}
Можно всё-же ответ на вопрос? Что значит "нахождением метки EOF"? ;)
no subject
on 2007-01-04 02:51 pm (UTC)no subject
on 2007-01-04 03:08 pm (UTC)У меня просто осталась привычка :))
А по поводу fscanf посмотрите предыдущий ответ - и еще раз - возьмите, поэксперементируйте, мне это не надо, а вот Вам пригодится :)))
(no subject)
Posted by(no subject)
Posted by(no subject)
Posted by