Tag: visual studio

使用MSVS2005从C中的完整路径提取文件名

在C程序中,我在字符串中有一个文件路径(具体来说,这是存储在argv[0]的exe名称)。 我想提取文件名并使用MS Visual Studio 2005丢弃目录路径。任何内置函数?

如何为GCC设置Visual Studio代码编译器/调试器?

我在Visual Studio Code中用C编程,但我无法编译,因为VSC只提供了三个内置的编译器–Node.js,C#Mono和Extension开发。 经过一番挖掘后,我遇到了Visual Studio Marketplace 。 这似乎是正确的事情,但只有四种不常见的语言。 我只能假设内置了C调试支持,我无法找到它或者我做错了。 我试图创建一个新的launch.json(似乎保存每个文件的编译/调试设置的清单)并手动输入我拥有的GCC二进制文件,但这并没有结束。 我目前无法通过命令提示符手动编译我正在处理的C源文件。 如果有人能指出我正确的方向,那将会有所帮助。 tl; dr – 在Visual Studio Code中调试C的任何人的帮助 Windows 8,如果重要的话 干杯!

指针与引用与常规传递值c ++

请在回答之前阅读。 我不希望你为我说清楚。 感谢:D 我试图区分指针和传递值。 而且我认为我理解它们但是我读到的一个原因并不清楚,传递指针和传递值之间的区别是什么。 考虑以下… andy = 25; fred = andy; ted = &andy; 第一行将值25传递给andy。 第二行将andy的值传递给fred。 现在fred拥有值25.第三行传递了对ted的引用。 现在ted保存了andy的内存地址,其值为25.现在看看下一个代码 andy = 25; fred = andy; ted = &andy; joe = *andy; 上面的代码看起来就像第一个代码段,除了我们将指向andy的指针传递给了joe。 现在joe保持指针值为25.这几乎和刚刚做的一样(joe = andy)。 没有* 传递指针值与传递值相比有什么不同? 在我的解释中,似乎joe的指针值仍然受影响,如果后来我决定改变andy /的值,如果我只是通过值,它不会影响。 Ť 据我所知,传递引用和传递指针之间的唯一区别是,一个保存地址,另一个保存该地址内的值。 如果任何保持该值引用的变量,它仍然可以改变,决定改变它。 如果是这种情况,通过引用传递和传递值的意义是什么。 这是我正在阅读的内容的链接 http://www.cplusplus.com/doc/tutorial/pointers/ 多谢你们!!!

将libcurl包含在Microsoft Visual Studio 2015中

我不知道如何将curl包含到我的项目中。 我已经阅读了这个获取LibCurl与Visual Studio 2013一起使用 ,但在我的文件夹中使用curl(来自https://curl.haxx.se/download.html#Win64 – Win64 x86_64 7zip)只有bin文件夹中的libcurl.dll 。 在lib文件夹中只有libcurl.a和libcurldll.a 。 我已经添加了包含VC ++目录的路径– > Inlcude目录 ,并尝试编译此代码: #include #include #include #include struct url_data { size_t size; char* data; }; size_t write_data(void *ptr, size_t size, size_t nmemb, struct url_data *data) { size_t index = data->size; size_t n = (size * nmemb); char* tmp; data->size += (size […]

使Visual Studio警告未签名的比较

使用Visual Studio 2010编译时,此代码 #include #include int numbers[] = { 23, 24, 25, 25, 28, 20, 20 }; int main(void) { int d = -1, x=0; size_t count = sizeof(numbers) / sizeof(numbers[0]); if (d <= (sizeof(numbers) / sizeof(numbers[0]))-2) x = numbers[d+1]; if (d <= count-2) x = numbers[d+1]; } 给我一个有符号/无符号的不匹配警告if (d <= count-2)但不是on if (d <= […]

不能在C中正确读取带有密码的.txt文件

对于我的代码,我需要创建一个包含用户名(名字)和密码(姓氏)的.txt文件。 我的代码需要读取该文件。 如果我输入了正确的用户名和密码,它将登录。如果不正确,则不会登录。到目前为止,在我的name.txt文件中(包含我的用户名和密码的文件)我有Lebron James,Joe Smith。 当我运行我的代码时,我只是在命令提示符下显示“无法打开文件names.txt”。 我想知道我需要对我的代码进行哪些更改? //This is my code: #include #include #include #define MAX_USER 32 void get_input(const char *pszPrompt, char *cpszWord, const size_t iLength) { while (1) { printf(“%s> “, pszPrompt); if (fgets(cpszWord, iLength * sizeof(char), stdin)) { break; } } size_t iLen = strlen(cpszWord); if (cpszWord[iLen – 1] == ‘\n’) cpszWord[iLen – […]

CreateFile()和CreateFileA()有什么区别?

我按照这里的教程与串口通信 打开然后关闭串口的主要代码如下: HANDLE hComm; hComm = CreateFileA((LPCSTR)”COM8″, //port name GENERIC_READ | GENERIC_WRITE, //Read/Write 0, // No Sharing NULL, // No Security OPEN_EXISTING,// Open existing port only 0, // Non Overlapped I/O // FILE_FLAG_NO_BUFFERING, // copied from the MFC version NULL); // Null for Comm Devices if (hComm == INVALID_HANDLE_VALUE){ DWORD err = GetLastError(); printf(“Error in […]

安装allegro c ++

我正在尝试设置allegro与visual studio express 2008 。 但我不知道这套说明。 我想识别一下allegro library 。 我想在安装过程中获得一些帮助。

在Visual Studio中使用const vs #define的问题

据我所知,# #define xy和const int x = y; 应该在Visual Studio编译器下完全相同,但const int x = y; 是首选的方法。 我看到的C代码看起来像这样: static const int x = 100000; void SomeFunction(…) { volatile static int y = x; … } 这里的问题是y的声明。 如果我使用#define for x,那么没有问题,但使用上面的代码会导致编译器返回“错误c2099:初始化程序不是常量”。 我正在尝试从命令行编译,我没有使用任何编译器标志,所以我不确定是否需要设置一个标志,以便编译器优化const – 或者如果我偶然发现某种特殊情况。 将程序编译为C ++程序也可以,但我宁愿避免这种情况,如果可能的话。

无法通过cmake在windows上编译libpng 1.6:无法打开包含文件:’zlib.h’:没有这样的文件或目录

VS 2015 Update 1.预构建的zlib被解压缩到project / zlib中。 find_package通过提供适当的变量找到它。 它将dir添加为cl调用中的包含: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /IC:\project\zlib\include /IC:\project\libpng /nologo /W3 /WX- /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D _CRT_SECURE_NO_DEPRECATE /D “CMAKE_INTDIR=\”Release\”” /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo”png16_static.dir\Release\\” /Fd”png16_static.dir\Release\png16_static.pdb” /Gd /TC /errorReport:queue C:\project\libpng\png.c C:\project\libpng\pngerror.c C:\project\libpng\pngget.c C:\project\libpng\pngmem.c C:\project\libpng\pngpread.c C:\project\libpng\pngread.c C:\project\libpng\pngrio.c C:\project\libpng\pngrtran.c C:\project\libpng\pngrutil.c […]