Tag: C#的

如何在循环中使用sscanf?

有一个很好的方式来循环sscanfstring? 比方说,我有一个string,看起来像这样: char line[] = "100 185 400 11 1000"; 我想打印这个总和。 我真的想写的是这样的: int n, sum = 0; while (1 == sscanf(line, " %d", &n)) { sum += n; line += <number of bytes consumed by sscanf> } 但没有干净的方式来从sscanf获取这些信息。 如果它返回了消耗的字节数,那就很有用。 在这种情况下,可以使用strtok ,但是能够写一些与stdin相似的东西是很好的: int n, sum = 0; while (1 == scanf(" %d", &n)) { sum += […]

静态类成员上未parsing的外部符号

很简单地说: 我有一个主要由静态公共成员组成的类,所以我可以将类似的函数组合在一起,而这些函数仍然需要从其他类/函数中调用。 无论如何,我已经在我的类的公共范围中定义了两个静态无符号字符,当我尝试在同一个类的构造函数中修改这些值时,编译时出现“未parsing的外部符号”错误。 class test { public: static unsigned char X; static unsigned char Y; … test(); }; test::test() { X = 1; Y = 2; } 我是C ++新手,所以对我来说很简单。 为什么我不能这样做?

在C#中使用带默认命名空间的Xpath

我有一个默认名称空间的XML文档。 我正在使用XPathNavigator来使用Xpathselect一组节点,如下所示: XmlElement myXML = …; XPathNavigator navigator = myXML.CreateNavigator(); XPathNodeIterator result = navigator.Select("/outerelement/innerelement"); 我没有得到任何结果:我假设这是因为我没有指定命名空间。 我如何在我的select中包含命名空间?

C ++函数参数的评估顺序

如果我们有三个function(foo,bar和baz),就像… foo(bar(), baz()) baz之前有没有用C ++标准来保证吧?

用逗号C打印列表

我知道如何做到这一点在其他语言,但不是C ++,我不得不在这里使用。 我有一组string,我打印在一个列表中,每个字符之间需要一个逗号,而不是尾随的逗号。 例如在java中,我会使用一个stringbuilder,并在我build立我的string后删除逗号。 我如何在C ++中做到这一点? auto iter = keywords.begin(); for (iter; iter != keywords.end( ); iter++ ) { out << *iter << ", "; } out << endl; 我最初尝试插入此块来做到这一点(在这里移动逗号打印) if (iter++ != keywords.end()) out << ", "; iter–; 我讨厌什么时候小事让我起来。 编辑:谢谢大家。 这就是为什么我在这里发布这样的东西。 这么多好的答案,以不同的方式解决。 在Java和程序集(不同的类)的一个学期之后,必须在4天内完成一个C ++项目,让我循环。 我不仅得到了答案,还有机会思考了解决这个问题的不同方法。 真棒。

将Unicodestring转换为转义的ASCIIstring

我怎样才能转换这个string: This string contains the Unicode character Pi(π) 转换成一个转义的ASCIIstring: This string contains the Unicode character Pi(\u03a0) 反之亦然 ? 在C#中可用的当前编码将π字符转换为“?”。 我需要保留这个angular色。

foreach标识符和closures

在下面的两个片段中,第一个是安全还是第二个? 通过安全我的意思是每个线程保证从线程创build相同的循环迭代调用Foo的方法? 或者你必须复制引用到一个新的variables“本地”到循环的每个迭代? var threads = new List<Thread>(); foreach (Foo f in ListOfFoo) { Thread thread = new Thread(() => f.DoSomething()); threads.Add(thread); thread.Start(); } – var threads = new List<Thread>(); foreach (Foo f in ListOfFoo) { Foo f2 = f; Thread thread = new Thread(() => f2.DoSomething()); threads.Add(thread); thread.Start(); } 更新:正如Jon Skeet的回答所指出的那样,这与线程无关。

为什么strlcpy和strlcat认为不安全?

我知道strlcpy和strlcat被devise为strncpy和strncat安全替代品。 但是,有些人仍然认为他们是不安全的,只是造成不同types的问题 。 有人可以举一个例子,说明如何使用strlcpy或strlcat (即一个总是 null结束其string的函数)会导致安全问题? Ulrich Drepper和James Antill说这是真实的,但是从来没有提供实例或澄清这一点。

C#是否支持返回types协变?

我正在与.NET框架,我真的想能够使我的网站使用的自定义types的页面。 当我试图从控件访问页面时出现问题。 我希望能够返回我的特定types的页面,而不是默认页面。 有没有办法做到这一点? public class MyPage : Page { // My own logic } public class MyControl : Control { public MyPage Page { get; set; } }

使用JSON.NET将JSON数据反序列化为C#

我对使用C#和JSON数据的工作比较陌生,并且正在寻求指导。 我使用的是C#3.0,.NET3.5SP1和JSON.NET 3.5r6。 我有一个定义的C#类,我需要从JSON结构填充。 但是,并不是从Web服务检索的条目的每个JSON结构都包含在C#类中定义的所有可能的属性。 我一直在做什么似乎是错误的,很难的方式,只是从JObject中逐个挑选每个值,并将string转换为所需的类属性。 JsonSerializer serializer = new JsonSerializer(); var o = (JObject)serializer.Deserialize(myjsondata); MyAccount.EmployeeID = (string)o["employeeid"][0]; 将JSON结构反序列化为C#类并处理JSON源中可能丢失的数据的最佳方法是什么? 我的课程定义为: public class MyAccount { [JsonProperty(PropertyName = "username")] public string UserID { get; set; } [JsonProperty(PropertyName = "givenname")] public string GivenName { get; set; } [JsonProperty(PropertyName = "sn")] public string Surname { get; set; } [JsonProperty(PropertyName […]