我在声明字符串变量时遇到了一些麻烦.代码和错误在这里:http://pastebin.com/TEQCxpZd任何关于我做错了什么的想法?另外,请保持平台独立.谢谢!
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
string input; //Declare variable holding a string
input = scanf; //Get input and assign it to variable
printf(input); //Print text
return 0;
}
Getting this from GCC:
main.cpp: In function ‘int main()’:
main.cpp:53:10: error: invalid conversion from ‘int (*)(const char*, ...)’ to ‘char’
main.cpp:53:10: error: initializing argument 1 of ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>, …Run Code Online (Sandbox Code Playgroud) 它们都是可调整大小的数组,而std :: basic_string没有任何特定于字符的函数,如upper().字符串有什么特别之处,可以让字符数据变得更好?
我有一些代码来更新看起来像的数据库表
try
{
db.execute("BEGIN");
// Lots of DELETE and INSERT
db.execute("COMMIT");
}
catch (DBException&)
{
db.execute("ROLLBACK");
}
Run Code Online (Sandbox Code Playgroud)
我想将事务逻辑包装在RAII类中,以便我可以写
{
DBTransaction trans(db);
// Lots of DELETE and INSERT
}
Run Code Online (Sandbox Code Playgroud)
但是我该如何为它编写析构函数呢?
如果我说:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
char *x;
char *y;
int main() {
x = malloc(sizeof("Hello, world!"));
strcpy(x, "Hello world!");
y = "Hello, world";
free(x);
fprintf(stderr, "okay");
free(y);
}
Run Code Online (Sandbox Code Playgroud)
然后,显然,程序将打印"okay",然后死亡,因为"指针被释放未被分配" - 显然,因为字符串是一个字符串文字.
我想编写一个在给定字符串文字时不执行任何操作的函数,但在给定非字符串文字时调用free.这有可能,如果是的话,怎么样?
我有一个包含16个C#项目的Visual Studio解决方案.我还有一个单独的build.proj文件,其中包含三个<Target>s:
Build,其中包含<MSBuild>对*.sln 的引用Package,包含<MakeDir>和<CopyCommands>将生成的DLL/EXE文件以及各种数据文件复制到$(StagePath)目录.Deploy,将文件从阶段路径复制到部署路径.我能够运行命令xbuild /t:Deploy build.proj来构建*.sln并将其文件复制到适当的位置,直到最近IT部门决定将我的Documents文件夹移动到网络驱动器上.
现在,每当我尝试运行这个xbuild命令时,我都会遇到类似下面的错误.(引用是同一解决方案中的一个依赖项.)
error CS0234: The type or namespace name `Util' does not exist in the namespace `Contoso'. Are you missing an assembly reference?
Run Code Online (Sandbox Code Playgroud)
但每当我在Xamarin Studio的同一个*.sln上进行"Build All"时,我会得到一个成功的构建,其中包含0个错误和0个警告.那么,如果Xamarin Studio可以,xbuild为什么不能找到这些汇编参考?
我是python的新手,在我的mac上使用Python3.5.1时发现了一个令人困惑的结果,我只是在终端中运行了这个命令
1 // 0.05
Run Code Online (Sandbox Code Playgroud)
但是,它在我的屏幕上打印了19.0.从我的观点来看,它应该是20.有人可以解释这里发生了什么吗?我已经知道'//'类似于math.floor()函数.但我还是无法理解这一点.
在测试一些函数来转换wchar_t和utf8之间的字符串时,我在Visual C++ express 2008中遇到了以下奇怪的结果
std::wcout << L"élève" << std::endl;
Run Code Online (Sandbox Code Playgroud)
打印出"ÚlÞve:",这显然不是预期的.
这显然是一个错误.怎么可能 ?我怎么想处理这样的"功能"?
我得到了包含UTF8列的MySQL DB,其中包含这样的"ТÐμÑ"记录.PHP的mb_detect_encoding()告诉我这是UTF-8.我怎样才能将这种"恐怖"变成可读的东西?
谢谢
我一直在通过网络彻底查看,我似乎无法找到这种转换的表格.我找到的那些有一些错误,并且不太可靠,所以我找了一些官方的桌子或类似的,但不幸的是我没有..所以我在这里..
正如标题中所提到的,我想要做的是,例如,知道"ñ"代表什么(这个我已经知道......"ñ"),但不仅仅是西班牙人,而是其他人(我已经知道了)波兰人).
主要问题是我在PHP中有一个字符串,有时候可能会出现例如"eñe"(这是好的)而其他人则称为"eñe"..而在最后我应该能够将其更改为"eñe"所以它是可读的..但如果没关系,我不想改变它.为了做到这一点,我使用了utf8_decode函数,但是如果字符串是可读的,它仍然会将"ñ"更改为"■"(但是白色)..这就是为什么我不能总是解码字符串,并且如果我使用mb_detect_encoding函数,我将总是得到"UTF-8"作为响应..它不是那么有用..
一旦我知道所有的utf8位字符,例如"ñ"代表"ñ","Ź"代表"Ź"等,我打算做一个基本上互相取代的函数..这是与utf8_decode相同的东西......除非有人在这里有更好的解决方案!
提前致谢!问候!