Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Тангенс
1 / 1 / 0
Регистрация: 19.07.2013
Сообщений: 121
#1

При считывании из файла не выводится отчество - C++

20.12.2013, 13:37. Просмотров 299. Ответов 3
Метки нет (Все метки)

Необходимо прочитать из файла фамилию студента, имя и отчество. И вывеси на экран фамилию и инициалы.
Вот код, но выводит ерунду какую-то :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
char str[42],buf[]="", *point;
 
 
    while(!feof(file)){
        //char *name,*sec_name,surname[]="";
        fscanf(file,"%s\n",buf);
 
        point = strchr(buf,';');
 
        strncpy(s.surname,buf, point-buf);
        s.surname[point-buf]=0;
        cout<<s.surname;
 
        strncpy(s.name,point,point-buf);
        s.name[point-buf]=0;
        cout <<' '<<s.name[1]<<'.';
 
        point = strchr(buf,';');
        strncpy(s.sec_name,point,point-buf);
        s.sec_name[12]=0;
        cout <<' '<<s.sec_name<<'.';
 
        cout<<'\n';
    }
Содержимое файла:

Анаша;Наталья;Евгенивна;1;Ж
Лизун;Паша;Вальеревич;2;М
Глубокий;Артем;Игоревич;3;М

Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 13:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос При считывании из файла не выводится отчество (C++):

Переполнение при считывании из файла - C++
Подскажите пожалуйста, где ошибка, вот код чтения из файла: void read_file(void) { int mass; FILE* file = fopen(&quot;arr.txt&quot;, &quot;r&quot;); ...

Проблема при считывании из файла - C++
Пишу простенькую программу по криптографии. В результате шифрования получается txt файлик с набором закорючек(он во вложении). Для...

Ошибка, при считывании инфы с файла... - C++
Вот есть код:#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;fstream.h&gt; #include &lt;stdio.h&gt; #include...

Лишние биты при считывании файла - C++
Нужно порциями по 63 байта считать текст из файла. &quot;in&quot; - мой открытый файл для чтения. Вот отрывок из кода fseek(in, 0, SEEK_END); ...

Неверная кодировка при считывании из файла - C++
Проблема такая, при считывание из файла идет кракозябра, как это исправитьsetlocale(LC_ALL, &quot;rus&quot;); FILE *fp; if(!(fp =...

Сбивается указатель при считывании из файла - C++
Сбивается указатель, считывается не то значение (вместо '1' считывается пробел и всё летит). Но если открыть этот файл в WordPad'e добавить...

3
MrGluck
Модератор
Эксперт CЭксперт С++
7801 / 4845 / 754
Регистрация: 29.11.2010
Сообщений: 13,212
20.12.2013, 13:41 #2
А вы уверены, что вам нужно работать с кириллицей?
Тогда все должно в юникоде быть. И функции wprintf, объекты wcout, ...
Если есть возможность - сделайте сначала задание с латиницей.
0
Тангенс
1 / 1 / 0
Регистрация: 19.07.2013
Сообщений: 121
20.12.2013, 13:45  [ТС] #3
Кириллицу выводит корректно. Не выводит отчество.
0
Arigato
Программист
281 / 178 / 95
Регистрация: 05.12.2013
Сообщений: 682
Записей в блоге: 5
20.12.2013, 14:01 #4
Непонятные манипуляции. Что такое s?

Добавлено через 8 минут
Если я правильно понял идею решения, то можно применить что-то такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    char buf[]="Анаша;Наталья;Евгенивна;1;Ж", *point, *str;
    
    str=&buf[0];
    point = strchr(str,';');
    str[point-str]=0;
    cout<<str<<" ";
    
    str=&str[point-str+1];
    point = strchr(str,';');
    str[point-str]=0;
    cout<<str[0]<<". ";
 
    str=&str[point-str+1];
    point = strchr(str,';');
    str[point-str]=0;
    cout<<str[0]<<". ";
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 14:01
Привет! Вот еще темы с ответами:

Переполнение строки при считывании из файла - C++
Считываю я строки из файла, в котором их 500 тысяч. Если строка начинается на R, то я записываю её в другой файл. Примерно на 312000-й...

Ошибка при считывании двоичного файла - C++
При считывании из .EXE файла возникает ошибка, а возникает она когда считываемый байт равен 0x1A. Если он есть в файле то программа &quot;видит&quot;...

Конец файла при потоковом считывании - C++
if (fin.eof()==0){ cout &lt;&lt; &quot;aaa&quot;; int asa; asa = (int)buf; fout.write((char*)buf, sizeof(buf - asa)); } вот...

Лишние символы при считывании файла - C++
Считываю структуру с файла и вывожу в консоль, при выводе появляются лишние символы в конце. Скажите пожалуйста с чем это связано и как их...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru