- 1
- 2
- 3
- 4
- 5
- 6
string user="Администратор";
char* qwe1;
int i=0;
for(i=0;user[i]!=0;i++){};
qwe1[]=new char[i];
for(int j=0;user[j]!=0;j++)qwe1[j]=user[j];
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+175
string user="Администратор";
char* qwe1;
int i=0;
for(i=0;user[i]!=0;i++){};
qwe1[]=new char[i];
for(int j=0;user[j]!=0;j++)qwe1[j]=user[j];
перевод std::string в массив чаров
+163
LPBYTE OUTBUFF = NULL;
DWORD BUFFSIZE = 0;
...
int pgp_res = m_pgp.EncodeBuff2Buff(
( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
( DWORD ) post_data.length(),
OUTBUFF,
BUFFSIZE,
( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() );
...
std::string s;
// мы будем рассматривать буфер как строку, а PGPEncode
// естественно не ограничивает буфер нулевым
// символом, поэтому строку из буфера надо
// ограничивать насильно
s = std::string( ( char* ) OUTBUFF );
s = s.substr( 0, BUFFSIZE );
1) Проблема проявилась после 5 лет боевой эксплуатации.
2) Все загодногожено было именно так. Т.е. автор понимал \0, сделал что-то, но все равно с ошибкой.
+154
////.....
//
// button2
//
this->button2->Name = L"button2"; //Кнопка с номером 2,
this->button2->Text = L"3"; //текстом "3"
//и вызывающая обработчик кнопки 1.
this->button2->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
//
// button3
//
this->button3->Name = L"button3"; //Кнопка с номером 3,
this->button3->Text = L"5"; //текстом "5"
//тоже вызывающая обработчик кнопки 1
this->button3->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
////.....
#pragma endregion
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
if (Form1::textBox1->Text=="0")
Form1::textBox1->Text=((System::Windows::Forms::Button^ )sender)->Text;
else
Form1::textBox1->Text+=((System::Windows::Forms::Button^ )sender)->Text;
}
private: System::Void button17_Click(System::Object^ sender, System::EventArgs^ e) {
Form1::textBox1->Text="0";
m_Box=0; }
private: System::Void button15_Click(System::Object^ sender, System::EventArgs^ e) {
float x = float::Parse(Form1::textBox1->Text);
m_Box = float::Parse(Form1::textBox1->Text);
Form1::textBox1->Text="";
oper =((System::Windows::Forms::Button^)sender)->Text;
}
private: System::Void button16_Click(System::Object^ sender, System::EventArgs^ e) {
float x = float::Parse(Form1::textBox1->Text);
if (oper=="+")
m_Box+=x;
if(oper=="-")
m_Box-=x;
if(oper=="*")
m_Box*=x;
if (oper=="/")
m_Box /=x;
Form1::textBox1->Text=m_Box.ToString();
}
};
}
Это кусок простейшего калькулятора одной девушки. Кроме всего прочего вышеописанный код составляющий единственную логику приложения находится в "Form1.h".
+156
// #include<....>
using namespace std;
#if ( _WIN32 || __WIN32__ || _WIN64 || __WIN64__ )
#define I64 "%I64d"
#else
#define I64 "%Ld"
#endif
#define PB(x) push_back(x)
#define MP(x,y) make_pair(x,y)
#define dbg(x) cerr << #x << " = " << x << endl
#define fori(i,b,e) for(int i = (b); i < (e); i++)
#define forall(p,s) for(typeof((s).begin()) p = (s).begin(); p != (s).end(); p++)
#define memclr(a) memset((a), 0, sizeof(a))
typedef long long int64;
const long long inf = ((long long)1 << 63) - 1;
#define PROBLEM_NAME "a"
#define add(i, j, val, p, ch) \
do { \
par[i][j][val] = p; \
c[i][j][val] = ch; \
was[i][j][val] = true; \
d[i][j][val] = d[i][j][p] + 1; \
a[i][j][sz[i][j]++] = val; \
} while (0)
void bfs(int n) {
int p[10][10][2];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
p[i][j][0] = min(i,j);
p[i][j][1] = max(i,j);
}
}
static int par[10][10][2 << 16];
static int c[10][10][2 << 16];
static bool was[10][10][2 << 16];
static int a[10][10][2 << 16];
static int d[10][10][2 << 16];
static int sz[10][10];
static int cur[10][10];
//...
}
int main() {
//...
}
Часть шаблона, ну еще кое-какие макросы, т.к. влом было писать нормально. Зато работало. bfs не обыкновенный, если кого это смутит.
+175
std::vector<SOCKET*> _socket_vector; // В деструкторе удалить это хозяйство. Удалив это хозяйство, удалить этот комментарий
Задокументированная утечка памяти)
+144
int X,Y,Z;
X=StrToInt(Edit1->Text);
Y=StrToInt(Edit2->Text);
Z=X+Y;
Edit3->Text=IntToStr(Z),
+168
#define loopv(v) for(int i = 0; i<(v).length(); i++)
#define loopvj(v) for(int j = 0; j<(v).length(); j++)
#define loopvk(v) for(int k = 0; k<(v).length(); k++)
#define loopvrev(v) for(int i = (v).length()-1; i>=0; i--)
Может я чего недопонимаю?
Это из Cube 2: Sauerbraten
+149
matrix[0][0]=3;
matrix[0][1]=1;
matrix[0][2]=1;
matrix[0][3]=6;
matrix[1][0]=0;
matrix[1][1]=-2;
matrix[1][2]=1;
matrix[1][3]=-3;
matrix[2][0]=2;
matrix[2][1]=-1;
matrix[2][2]=4;
matrix[2][3]=-1;
cout<<"MATRIX:"<<endl;
for (i=0;i<4;i++) {
cout<<matrix[0][i]<<" ";
if (i==3) {
cout<<" "<<endl;
for (i=0;i<4;i++) {
cout<<matrix[1][i]<<" ";
if (i==3) {
cout<<" "<<endl;
for (i=0;i<4;i++) {
cout<<matrix[2][i]<<" ";};};};};};
Вывод двумерного массива :)
+164
srand(time(0));
for (i = 0; i < 10000; i++) {
sprintf(qtrc, "/tmp/%010d", rand());
if (!mkdir(qtrc, 0700))
goto okay;
}
logPanic("Cannot create $HOME\n");
okay:
Исходники KDM
+160
std::string ScriptInfo::GetDebugInfo() const
{
char sz[256];
sprintf(sz, "%s ('%s' script id: %u)", GetScriptCommandName(command).c_str(), GetScriptsTableNameByType(type).c_str(), id);
return std::string(sz);
}
Может, не совсем говнокод, но меня от подобного коробит.