Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для _Dezmond_
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 59
1

Длина строки файла

06.04.2014, 17:10. Показов 2324. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста как определить длину строки в файле и записать это значение в переменную типа int
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2014, 17:10
Ответы с готовыми решениями:

Даны две переменные, в первой строка, во второй длина строки, 100 - max длина, строки. Что такое dup('$') ?
string db 100 stringlen db ?,100 dup('$')

появилась загвоздка с функцией. нужно вывести на экран строку, сост. из звездочек. Длина строки-параметр функциииз звезд. длина строки -
Я видела, что на форуме есть подобные задачи, но ни одно из их решений не работает на моем dev cpp.:( вот вариант решения, но он не...

Извлечь из текстового файла строки, длина которых больше заданной
Добрый день. Прошу помощи так как в прологе полный 0. Поиск помог мне найти рабочий код от Грымзика из этой темы. Однако это...

8
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
06.04.2014, 17:27 2
Что есть длина строки в файле? В моем понимании это возврат каретки->перевод строки.
0
 Аватар для _Dezmond_
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 59
06.04.2014, 17:28  [ТС] 3
нужно найти количество символов
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
06.04.2014, 17:36 4
Тип файла какой?
0
 Аватар для _Dezmond_
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 59
06.04.2014, 17:37  [ТС] 5
*.txt
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
06.04.2014, 17:41 6
Могу помочь советом: ну да, нужно парсить файл на 0x0D0A.
0
 Аватар для _Dezmond_
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 59
06.04.2014, 17:54  [ТС] 7
а можете пожалуйста посмотреть код(может тут не размерах дело)
В приведенной программе осуществляется отображение файла в
память. Имя файла задается при запуске программы из командной
строки. Кроме того, в командной строке задается имя файла, в котором
размещается фрагмент данных для поиска его в исходном файле.
Программа «просматривает» исходный файл и выдает результат
сравнения. В случае, если заданный фрагмент находится, то выдается
соответствующее сообщение.
Затем исходный файл отправляется на стандартный вывод
функцией _tprintf.

Но почему-то размеры выдает "-1" и строки всегда не равны
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
void KCompare (CHAR , CHAR , int);
void KCompare ( CHAR string1[rmaxf1],  CHAR string2[rmaxf2], int KEY)
{
char tmp[20]; int result;
result=_tcsncmp (( TCHAR *) string1, ( TCHAR *) string2, KEY);
if (result==0)
{ strcpy( tmp, "equal to" );
printf( "Result:\t\tString 1 is %s string 2\n\n", tmp );
}
else
{ strcpy( tmp, "noequal to" );
printf( "Result:\t\tString 1 is %s string 2\n\n", tmp );
}
}
int _tmain (int argc, LPTSTR argv []) 
{
HANDLE hFile, hFile2, hMap;
LPVOID  pFile;
CHAR string1[rmaxf1], string2[rmaxf2]; 
CHAR Buffer1[BUF_SIZE], Buffer2[BUF_SIZE];
DWORD FsLow, nf2; 
int i, j, k, KEY;
BOOL f2;
LPCTSTR pF;
hFile = CreateFile (argv[1], GENERIC_READ, 0, NULL, 
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
FsLow = GetFileSize (hFile, NULL); 
printf("Fs=%d\n",(int)FsLow);
hMap = CreateFileMapping (hFile, NULL, PAGE_READONLY,
0, 0, NULL); 
pFile = MapViewOfFile (hMap, FILE_MAP_READ, 0, 0, 0);
pF= (LPCTSTR)pFile;
for (i=0; i< (int)FsLow; i++)
{
Buffer1[i]=*pF;
pF++;
}
for (i=0; i< (int)FsLow; i++)
printf("%c",Buffer1[i]);
printf("\n");
hFile2 = CreateFile (argv[2], GENERIC_READ, 0, NULL, 
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 
f2=ReadFile(hFile2, Buffer2, BUF_SIZE, &nf2, NULL);
KEY=GetFileSize (hFile2, NULL); 
printf("KEY=%d\n", (int)KEY);
for (i=0; i< (int)KEY; i++)
printf("%c",Buffer2[i]);
printf("\n");
for (i=0; i< (int)KEY; i++)
string2[i]=Buffer2[i];
k=0;
do
{
i=k;
do
{
for (j=0; j<(int)KEY;j++)
{
string1[j]=Buffer1[j+i];
printf("%c",string1[j]);
}
printf("\n");
getchar();
KCompare(string1, string2, (int)KEY);
i=i+KEY;
}
while (i<(int)FsLow-(int)KEY+1);
k=k+1;
}
while (k<(int)FsLow-(int)KEY+1);
/* Выводим исходный файл. */
_tprintf(_T("%s"),pFile); 
UnmapViewOfFile (pFile); 
CloseHandle (hMap); 
CloseHandle (hFile);  
CloseHandle (hFile2);  
return 0;
}
0
 Аватар для Izual
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
07.04.2014, 13:08 8
Т_Т

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if( (fr = fopen(fLFc, "r")) == NULL)
  MessageBox(hWnd, _T("Файл не найден."), _T("ERROR!"), MB_OK);
while(!feof(fr))
        {
            fgets(textbuf, sizeof(textbuf), fr);
            fLFl++;
        }
if((fLFl != 1) || (strlen(textbuf) != 0))
        {
            fseek(fr, 0L,SEEK_SET);
            while(!feof(fr))
            {
                fgets(textbuf, sizeof(textbuf), fr);
                dl = strlen(textbuf);
...
Это кусок кода... Ну суть ясна? dl это и есть переменная отвечающяя за подсчёт длины строки.
1
 Аватар для _Dezmond_
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 59
07.04.2014, 16:25  [ТС] 9
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2014, 16:25
Помогаю со студенческими работами здесь

Вывести из файла строки, длина которых равна заданному числу
Нужно вывести из файла строки, длина которых равна заданному числу

Дано целое число K и текстовый файл. Удалить из каждой строки файла первые K символов (если длина строки меньше K, то удалить из нее все символы)
Помогите Пожалуйста написать программу! Дано целое число K и текстовый файл. Удалить из каждой строки файла первые K символов (если длина...

Вывести на экран те строки исходного файла, длина которых больше 10 символов
Вывести на экран те строки исходного файла, длина которых больше 10 символов(Тема:Файлы) Заранее спасибо!

Перепишите из входного файла в выходной только те строки, длина которых меньше 70
Помогите пожалуйста с решением задачки. Перепишите из входного файла в выходной только те строки, длина которых меньше 70. Строки...

Проверить, чтобы длина строки файла была не меньше двух символов
Помогите пожалуйста решить. Текст в файле: имя пользователя. Проверить ,чтобы длина строки ббыла не меньше...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
Tестирование Pull Request в Kubernetes с помощью vCluster
stackOverflow 03.03.2025
При работе с микросервисной архитектурой критически важно обеспечить качественное тестирование каждого изменения перед его слиянием в основную кодовую базу. Однако тестирование Pull Request в. . .
Использование пакета Context в Golang
bytestream 03.03.2025
Управление параллельными процессами в современных приложениях - сложная задача, особенно когда речь идет о микросервисной архитектуре и распределенных системах. Пакет context в Go - это гибкое. . .
WebAssembly и Go: Работа с DOM и обработка ошибок
bytestream 03.03.2025
WebAssembly представляет собой технологию, позволяющую запускать низкоуровневый код в браузере практически на нативной скорости. Особенно интересные возможности открываются при использовании. . .
WebAssembly и Go: Создание высокопроизводи­­тельных веб-приложений
bytestream 03.03.2025
WebAssembly - это технология, изменившая подход к созданию высокопроизводительных веб-приложений. До появления WebAssembly JavaScript оставался единственным языком программирования, который понимали. . .
Контексты в Go: отмена, тайм-ауты и распространение
bytestream 03.03.2025
В многопоточном программировании существует множество ситуаций, когда необходимо прерывать выполнение горутин или ограничивать время их работы. Отсутствие грамотного управления параллельными. . .
WebSocket в Go: создание масштабируемых real-time приложений
bytestream 03.03.2025
Веб-приложения все чаще требуют обработки данных в режиме реального времени. Традиционный подход с использованием HTTP-запросов имеет существенные ограничения для таких сценариев. При каждом запросе. . .
Как дебажить в Go: Руководство по отладке
bytestream 03.03.2025
Отладка в Go имеет свои особенности, связаные с строгой типизацией, моделью конкурентности и управлением памятью. Go предоставляет богатый набор встроеных средств для отладки, которые дополняются. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru