ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

25.04.2009, 20:09
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
Сообщение от Kaimi
Если не напутал, то вот поидее
Код:
#include <stdio.h>
void main()
{
FILE *in;
char ch;
in = fopen("in.txt", "r");
while(ch != EOF)
{
ch = fgetc(in);
if((ch < 48 || ch > 57) && (ch < 65 || ch > 90) && (ch < 97 || ch > 122)) printf("%c", ch);
}
fclose(in);
}
Зачем изобретать велосипед когда он уже сделан?
Код:
#include <stdio.h>
#include <ctype.h>
int main() {
FILE *in;
char ch;
in = fopen("in.txt", "r");
while(ch != EOF) {
ch = fgetc(in);
if(!isalnum(ch)) {
printf("%c", ch);
}
}
fclose(in);
return 0;
}
|
|
|

25.04.2009, 15:20
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
PHP код:
// создал указатель (?) на поток
ifstream infile;
// открыл файл
infile.open ("C:\\file2.txt");
// пытаюсь получить размер файла
int size = filesize(infile);
int filesize(ifstream infile){
infile.seekg(0, ifstream::end);
int size = infile.tellg();
infile.seekg(0);
return size;
};
но не получается.
ошибка в строке
PHP код:
int size = filesize(infile);
// initializing argument 1 of `int filesize2(std::ifstream)'
как передать этот указатель в функцию, чтобы она определила размер файла?
|
|
|

25.04.2009, 15:30
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Напиши
int filesize(ifstream &infile)
|
|
|

25.04.2009, 16:12
|
|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
Подскажите, как в строковой переменной заменить слово на нужный мне текст.
|
|
|

25.04.2009, 16:22
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме: 1027635
Репутация:
234
|
|
Сообщение от draliokero
Подскажите, как в строковой переменной заменить слово на нужный мне текст.
Если нужно заменить все вхождения то так:
Код:
string s="BugblablaBugBug blabla BuBuggBug";
string oldS="Bug";
string newS="";
int last=0,i;
while (i=s.find(oldS,last),i!=string::npos)
last=i+newS.size(),
s.replace(i,oldS.size(),newS);
|
|
|

25.04.2009, 16:27
|
|
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме: 3008839
Репутация:
1502
|
|
Сообщение от jawbreaker
Если нужно заменить все вхождения то так:
Код:
string s="BugblablaBugBug blabla BuBuggBug";
string oldS="Bug";
string newS="";
int last=0,i;
while (i=s.find(oldS,last),i!=string::npos)
last=i+newS.size(),
s.replace(i,oldS.size(),newS);
как ужасно  нет бы КМП написать..)
__________________
Bedankt euch dafür bei euch selbst.
H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
|
|
|

25.04.2009, 16:31
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Юзай поиск в инете
Для ленивых вот:
Код:
// Функция заменяет в строке Src подстроку Str1 на Str2
char* Replace(char* Src,char* Str1, char* Str2)
{
int cStr1=0,cStr2=0,i;
char* buffer;
buffer = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,lstrlen(Src)*2);
while (Str1[cStr1]) cStr1++; // считаем размер
while (Str2[cStr2]) cStr2++; // строк, можно и через lstrlen
i = InStr(&Src[0],&Str1[0]);
while(i != 0)
{
lstrcpyn(&buffer[lstrlen(buffer)],&Src[0],i);
lstrcat(&buffer[0],&Str2[0]);
lstrcpy(&Src[0],&Src[i+cStr1-1]);
i = InStr(&Src[0],&Str1[0]);
}
lstrcat(&buffer[0],&Src[0]);
lstrcpy(&Src[0],&buffer[0]);
HeapFree(GetProcessHeap(),HEAP_NO_SERIALIZE,buffer);
return Src;
}
|
|
|

25.04.2009, 16:35
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
PHP код:
char *str;
cin >> str;
char *mm = strcpy(str, "free");
cout << mm;
почему-то выводит "free"..
а где то, что я поместил в str?
|
|
|

25.04.2009, 16:51
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
а где то, что я поместил в str?
Дак ты же перезаписываешь то что находится в str
|
|
|

25.04.2009, 17:25
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
strcpy(str, "free");
помещение строки "free" по адресу str
если хочешь чтобы было и то и другое, то юзай strcat для сложения строк
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|