我正在试图与数据库连接的W32机器上.为此,我尝试开始测试示例程序:
#include <iostream>
#include <windows.h>
#include <sqltypes.h>
#include <sql.h>
#include <sqlext.h>
using namespace std;
void show_error(unsigned int handletype, const SQLHANDLE& handle){
SQLCHAR sqlstate[1024];
SQLCHAR message[1024];
if(SQL_SUCCESS == SQLGetDiagRec(handletype, handle, 1, sqlstate, NULL, message, 1024, NULL))
cout<<"Message: "<<message<<"\nSQLSTATE: "<<sqlstate<<endl;
}
int main(){
SQLHANDLE sqlenvhandle;
SQLHANDLE sqlconnectionhandle;
SQLHANDLE sqlstatementhandle;
SQLRETURN retcode;
if(SQL_SUCCESS!=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &sqlenvhandle))
goto FINISHED;
if(SQL_SUCCESS!=SQLSetEnvAttr(sqlenvhandle,SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0))
goto FINISHED;
if(SQL_SUCCESS!=SQLAllocHandle(SQL_HANDLE_DBC, sqlenvhandle, &sqlconnectionhandle))
goto FINISHED;
SQLCHAR retconstring[1024];
switch(SQLDriverConnect (sqlconnectionhandle,
NULL,
(SQLCHAR*)"DRIVER={SQL Server};SERVER=localhost, 1433;DATABASE=MyDatabase;UID=sa;PWD=Admin-123;",
SQL_NTS,
retconstring,
1024,
NULL,
SQL_DRIVER_NOPROMPT)){
case SQL_SUCCESS_WITH_INFO:
show_error(SQL_HANDLE_DBC, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Code :: Blocks在Ubuntu 11.4上开发GTK +应用程序.
www.gtk.org有关于从源代码构建GTK +的说明,看起来很复杂.但是Ubuntu软件包管理器将libgtk3-dev列为我安装的软件包.
Code :: Blocks我使用Ubuntu软件中心安装.
使用Code :: Blocks项目向导创建一个GTK +项目,当我构建时,项目无法编译"找不到gtk/gtk.h".
显然,GTK include(和lib)文件夹未添加到Code :: Blocks搜索文件夹中.我找到了相关的路径和文件......
我是否必须明确地手动将所有搜索路径添加到Code :: Blocks的搜索路径中?或者我错过了一些安装步骤.
在c中,我可以使用换行分隔符([^ \n])和scanf.使用我可以存储的线.同样对于cin,我可以使用getline.
如果我必须存储一个段落,我可以使用我自己的特殊字符分隔符来模拟功能,例如[^#]或[^\t]和c中的scanf函数.
char a[30];
scanf("%[^\#]",a);
printf("%s",a);
Run Code Online (Sandbox Code Playgroud)
如何在cpp中实现与cin对象类似的功能.
我知道有一个类似的问题已经被问过了,但我几个小时都无法解决这个问题.
基本上我有一个带代码的DLL和一个调用它的应用程序.一切都运行正常,但如果我把两个在我的开发环境之外,它说程序无法启动因为libgcc_s_dw2 1.dll计算机丢失了.
考虑到它不是一台开发计算机,这是公平的.因此,为了分发,我添加了编译器标志" -static-libgcc -static-libstdc++".我为dll和应用程序做了这个.
但是当我编译应用程序时,我收到错误:
"`_Unwind_Resume'的多重定义"
我认为这是由于dll和应用程序都内置了静态库,而且它是.但如果它们都没有内置静态库,程序将无法在最终用户计算机上运行.
如何在仍然没有依赖于mingw库的情况下删除此错误?我的IDE是Code :: Blocks.
大卫
编辑:这是构建链接到DLL的应用程序时的构建日志:
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/libgcc_eh.a(unwind-dw2.o):(.text+0x298c): multiple definition of `_Unwind_Resume'
..\EquilibriumEngine\bin\Release\libEquilibriumEngine.dll.a(d000015.o):(.text+0x0): first defined here
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
2 errors, 0 warnings
Run Code Online (Sandbox Code Playgroud) 我是代码块的新手,我似乎无法使用<input>输出的命令行参数.有谁知道怎么做?
我现在能够读取从argv [1]传递的文件但是,程序不会自动读取给定文件的输入,也不会将输出正确输出到文件输出.
我知道它是在set程序的参数上,我的参数行是:list.txt <input> output
经过一些研究,我看到一个人这样做:<./ input> ./output,好像在运行一个程序给出输入和输出,无论如何,我也尝试过无济于事.我是否需要使用文件处理程序与之交互?它没有出现,简单的getchar()应该从传递的输入文件中读取.
我在这里错过了什么?
提前致谢
Octopress(黑暗)

Octopress(光)

Github上

Octopress默认颜色不是很好,如何将代码块的颜色改为Github样?
我真的需要你的帮助.我似乎无法在C++中进行文件操作.我使用fstream进行一些文件操作,但是当我编译它时,会出现一个错误:
|63|error: no matching function for call to 'std::basic_fstream<char>::open(std::string&, const openmode&)'|
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
以下是源代码的一部分:
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
inline int exports()
{
string fdir;
// Export Tiled Map
cout << "File to export (include the directory of the file): ";
cin >> fdir;
fstream fp; // File for the map
fp.open(fdir, ios::app);
if (!fp.is_open())
cerr << "File not found. Check the file a file manager if it exists.";
else
{
string creator, map_name, date;
cout << "Creator's name: …Run Code Online (Sandbox Code Playgroud) 昨天我决定下载,安装并尝试使用Allegro 5.我还下载了Code :: Blocks 12.11 w/MinGW编译器.我设置了所有内容并正确安装了所有内容(或者我认为)并尝试运行示例代码以查看它是否可行:
#include <stdio.h>
#include <allegro5/allegro.h>
int main(int argc, char **argv){
ALLEGRO_DISPLAY *display = NULL;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(640, 480);
if(!display) {
fprintf(stderr, "failed to create display!\n");
return -1;
}
al_clear_to_color(al_map_rgb(0,0,0));
al_flip_display();
al_rest(10.0);
al_destroy_display(display);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译并运行程序时,会出现一个错误消息框,指出"程序入口点_gxx_personality_v0无法位于动态链接库libstdc ++ - 6.dll中." 我在网上搜索了大约一个小时试图找到解决这个问题的方法,就像我对大多数事情一样,但我空手而归.我想知道是否有人对此问题的任何修复有任何想法,如果是这样,请尽快告诉我!提前致谢!
关于下面发布的代码有两个问题:
1)当我在CodeBlocks上运行此代码时,代码有时会成功运行(返回0),但通常会在显示所有结果后返回错误(返回-1073741819).为什么会这样?
2)除了数组的最后一个元素值(1)(pTriangle [20] = 1)之外,这些值都是正确的.但是,我最后得到一些垃圾号码,我做错了什么?
我已经意识到我可以用二项式系数得到相同的结果,但我仍然不知道为什么我得到错误,如果我的错误可以找到它是最好的.
Update1:
pTriangle[i] = temp[i % 2 ? 0 : 1] + pTriangle[i];似乎是问题所在.当我评论这段代码时,程序没有崩溃.我试图找出它为什么崩溃并试图找到解决方案:)
#include <stdio.h>
#include <stdlib.h>
#define LEVEL 20
int main()
{
int *pTriangle = (int*)malloc(sizeof(int)*(LEVEL+1));
int i;
for (i = 0; i < LEVEL; i++)
pTriangle[i] = 0;
createPascalTriangle(pTriangle, LEVEL);
for(i = 0; i < LEVEL+1; i++)
printf("pTriangle[%d]: %d\n", i, pTriangle[i]);
free(pTriangle);
return 0;
}
int createPascalTriangle(int *pTriangle, int level){
if (level <= 0)
return 0;
pTriangle[0] = 1;
pTriangle[1] …Run Code Online (Sandbox Code Playgroud) 我刚刚开始用Code :: Blocks学习C++.当我第一次使用它时,自动完成工作正常,但现在它不是出于某种原因.我的意思是自动完成是这样的:
#include <iostream>
using namespace std;
int main(){
int test;
}
Run Code Online (Sandbox Code Playgroud)
如果我输入"te"(没有引号),我就不会得到一个包含变量名称的框.任何帮助,将不胜感激.
codeblocks ×10
c++ ×7
c ×3
mingw ×2
allegro5 ×1
autocomplete ×1
colors ×1
fstream ×1
gcc ×1
github ×1
gtk ×1
input ×1
linux ×1
octopress ×1
odbc ×1
output ×1
redirect ×1
sass ×1
syntax-error ×1
ubuntu-11.04 ×1
user-input ×1