小编eln*_*gno的帖子

如何使用c ++发送电子邮件

我正在尝试使用c ++ visual studio 2013发送电子邮件.从网上搜索我发现了一些代码示例,但我仍然无法发送电子邮件.在一些代码中我gt错误包括文件没有这样的文件或目录

#include sys/socket.h

我也尝试过提升,但它只是卡住了.谁能帮我?我试过的最后一个代码:

#include<iostream>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>

using namespace std;
#define HELO "HELO 192.168.1.1\r\n"
#define DATA "DATA\r\n"
#define QUIT "QUIT\r\n"

//#define h_addr h_addr_list[0]
//FILE *fin;
int sock;
struct sockaddr_in server;
struct hostent *hp, *gethostbyname();
char buf[BUFSIZ+1];
int len;
char *host_id="192.168.1.10";
char *from_id="rameshgoli@domain.com";
char *to_id="rameshgoli@domain.com";
char *sub="testmail\r\n";
char wkstr[100]="hello how r u\r\n";

/*=====Send a string to the socket=====*/

void send_socket(char *s)
{
    write(sock,s,strlen(s));
    write(1,s,strlen(s));
    //printf("Client:%s\n",s);
}

//=====Read a string …
Run Code Online (Sandbox Code Playgroud)

c++ email smtp

1
推荐指数
2
解决办法
2万
查看次数

DateTime.TryParse还是Datetime.TryParseExact?

我正在从字符串转换日期和时间.我从我的输入中添加日期部分,如下所示

string joinedString = txtMonth.Text.Trim() + "/" + txtDate.Text.Trim() + "/" + txtYear.Text.Trim();
Run Code Online (Sandbox Code Playgroud)

通常我转换字符串如下

DateTime dt;
if (DateTime.TryParse(joinedString, out dt))
{
    lblOutputCulture.Text = dt.ToString();
}
else
{
    lblOutputCulture.Text = "Invalid Date Time!!!";
}
Run Code Online (Sandbox Code Playgroud)

如果文化的文化和日期时间格式与我的字符串模式相同,我可以在这里获得日期时间.但如果它像'dd-MM-yy'那样被转换,那么转换就会失败.

为了克服这个问题,我们需要使用InvariantCulture进行解析.为此我发现了2种方法

方法1:使用DateTime.TryParse

if (DateTime.TryParse(joinedString, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
    lblOutput.Text = dt.ToString();
}
else
{
    lblOutput.Text = "Invalid Date Time!!!";
}
Run Code Online (Sandbox Code Playgroud)

即使更改了系统的日期时间格式,也会成功转换日期时间.以下优点i)日期和月份输入是1位数或2位数ii)年输入是2位数或4位数

方法2:使用DateTime.TryParseExact

if (DateTime.TryParseExact(joinedString, "M/d/yy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
    lblOutput.Text = dt.ToString();
}
else
{
    lblOutput.Text = "Invalid Date Time!!!";
}
Run Code Online (Sandbox Code Playgroud)

这里也将datetime转换为具有特定文化但严格按照我在tryparseexact语句中给出的格式.

但以下是这个问题i)如果我给4位数年份输入它显示无效的日期和时间.如果我将格式更改为'M/d/yyyy',我将无法提供2位数的年份数.就像我添加时间部分一样,我需要给时间部分强制性.

哪一个更好?请提出建议.但主要是我在所有博客和论坛中找到了第二种方法.. …

.net c# datetime

1
推荐指数
1
解决办法
6790
查看次数

C#中的字符串排序错误

我跑了这个:

void Main()
{
    List<string> strings = new List<string>{"aaa", "z", "a"};
    Console.WriteLine(string.Join("\n", strings.OrderBy(k => k)));
}
Run Code Online (Sandbox Code Playgroud)

输出是:

a
z
aaa
Run Code Online (Sandbox Code Playgroud)

这不可能是对的!我在期待

a
aaa
z
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

c# linq string currentculture stringcomparer

1
推荐指数
1
解决办法
833
查看次数

虚函数只是一个函数重载?

所以我在C++中遇到了一个叫做虚函数的东西,简而言之就是我所理解的用于在派生/子类中启用函数重载的东西.

所以我们有以下课程:

class MyBase{
public:
    virtual void saySomething() { /* some code */ }
};
Run Code Online (Sandbox Code Playgroud)

那么当我们创建一个继承MyBase的新类时,如下所示:

class MySubClass : public MyBase{
public:
    void saySomething() { /* different code than in MyBase function */ }
};
Run Code Online (Sandbox Code Playgroud)

MySubClass中的函数将执行自己的saySomething()函数.

要理解它,是否与Java相同,只需在派生类中编写相同的函数名称即可实现相同的功能,这将自动覆盖/重载它?

在C++中实现的目标是什么,你需要额外的步骤,即将基类中的函数声明为虚拟?

先感谢您!:)

c++ virtual

0
推荐指数
2
解决办法
141
查看次数

使用另一个表中的值和 SQLite 中的 where 子句更新多行

PK | PARENT | COMMENT
---+--------+-----------
 1 |        | I AM ONE
 2 |        | I AM TWO
 3 |      1 | I AM ONE
 4 |      1 |
 5 |      2 | I AM TWO
 6 |      2 | I AM THREE
Run Code Online (Sandbox Code Playgroud)

我想更新不为空COMMENT的行的字段PARENT,以便COMMENT与父项相同。这是预期的结果:

PK | PARENT | COMMENT
---+--------+---------
 1 |        | I AM ONE
 2 |        | I AM TWO
 3 |      1 | I AM ONE
 4 |      1 | I …
Run Code Online (Sandbox Code Playgroud)

sql sqlite

0
推荐指数
1
解决办法
765
查看次数

标签 统计

c# ×2

c++ ×2

.net ×1

currentculture ×1

datetime ×1

email ×1

linq ×1

smtp ×1

sql ×1

sqlite ×1

string ×1

stringcomparer ×1

virtual ×1