现在我正在尝试这个:
#include <stdio.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s %s sourcecode input", argv[0], argv[1]);
}
else {
char source[] = "This is an example.";
int i;
for (i = 0; i < sizeof(source); i++) {
printf("%c", source[i]);
}
}
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
char *source = "This is an example.";
int i;
for (i = 0; i < strlen(source); i++){
printf("%c", source[i]);
}
Run Code Online (Sandbox Code Playgroud)
我收到了错误
Test.exe中0x5bf714cf(msvcr100d.dll)的未处理异常:0xC0000005:读取位置0x00000054时发生访问冲突.
(从德语松散翻译)
那我的代码出了什么问题?
我有一个这样的:
<% form_for(@user) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :username %><br />
<%= f.text_field :username %>
</p>
<p>
<%= f.label :email %><br />
<%= f.text_field :email %>
</p>
<p>
<%= f.label :password %><br />
<%= f.password_field :password %>
</p>
<p>
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
</p>
<p>
<%= f.label :role %> <br/>
<%= f.text_field :role%>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
在数据库中,role是一个"Char"字段.我希望它与文本字段不同,用户可以选择"教师","学生",如果用户选择"教师",数据库将存储"T",否则,它将存储"S".我怎么能这样做?我有必要在数据库中添加"用户角色"表,然后与用户建立关系吗?但有必要这样做吗?感谢你.
我想制作一个从扫描仪捕获图像的工具,是否有一个开源java库来控制/与扫描仪接口?(我发现JTwain但约3000欧元)
谢谢!
在Qt应用程序中,我正在尝试调用网络函数connect()(来自sys/socket.h).调用是由QObject对象构成的,该对象具有自己的connect()成员函数.QObject的connect()方法阻止我调用网络connect()函数.
有什么方法可以使用网络连接()?
我目前正在测试将文本数据记录到文件中的不同方法的性能.似乎当我打开/写入/关闭很多次时,使用的扩展会影响性能.(.txt和.log快〜7倍)
使用的代码:
private static void TestWriteSpeed(FileInfo file)
{
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 5000; i++)
{
using (StreamWriter writer = file.AppendText())
{
writer.Write("This is a test");
}
}
Console.WriteLine(file.Name + ": " + watch.Elapsed);
}
static void Main(string[] args)
{
TestWriteSpeed(new FileInfo("abc.txt"));
TestWriteSpeed(new FileInfo("abc.txt.01564611564"));
TestWriteSpeed(new FileInfo("abc.01564611564.txt"));
TestWriteSpeed(new FileInfo("abc.xml"));
TestWriteSpeed(new FileInfo("abc.xml.01564611564"));
TestWriteSpeed(new FileInfo("abc.config"));
TestWriteSpeed(new FileInfo("abc.config.01564611564"));
TestWriteSpeed(new FileInfo("abc.exe"));
TestWriteSpeed(new FileInfo("abc.exe.01564611564"));
TestWriteSpeed(new FileInfo("abc.log"));
TestWriteSpeed(new FileInfo("abc.log.01564611564"));
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
结果:
abc.txt 00:00:08.3826847 <---
abc.txt.01564611564 00:00:59.7401633
abc.01564611564.txt 00:00:08.0069698 …Run Code Online (Sandbox Code Playgroud) 我开发了一个Java应用程序,现在我想提供一些简单的打印支持.打印发票,一些报告等等.现在我正在用html创建那些东西,在JEditorPane上显示它.但是html的支持很差,我真的很沮丧.做这种事有没有更好的方法?有更好的浏览器组件,还是更好的工具来创建这样简单的报告?(JDK 1.6)
我的iPhone应用程序在支持方向更改时在iPad上运行时会显示一些奇怪的行为.
该应用程序启动时使用视图控制器(为了参数而将其称为视图A)和导航控制器,并且shouldAutorotateToInterfaceOrientation仅为纵向返回YES.在导航控制器上,我按下一个视图控制器(视图B),它也仅为肖像返回YES.然后,我将另一个视图控制器(视图C)推送到支持所有旋转的导航控制器上,并根据要旋转的方向调整屏幕上的项目.
当在iPhone模拟器和设备上运行时,如果您在视图C上旋转到横向,然后点击后退按钮返回到视图B,它会做正确的事情并将视图B切换回纵向模式.(在模拟器中,它甚至可以自动将模拟器旋转回纵向.)
我遇到的问题是,当我在iPad模拟器和设备上执行完全相同的事件序列时,出现的视图B不会旋转回纵向,导航控制器仍然显示视图C的信息.然后,我点击后退按钮,视图保持不变,但导航控制器显示视图B的正常(但所有仍处于横向模式).然后,如果我再次点击后退按钮,视图B会出现在视图B导航栏项目下,最后再次点击后退我会看到带有导航栏A项目的视图A.
如果我在iPad上查看B并开始旋转,那么应该在没有触发的情况下使用NO来触发,直到我达到纵向模式,然后全部恢复正常.
该应用程序使用最新发布的iPhone SDK版本构建,并具有如下构建设置:iPhone模拟器4.0的基本SDK,iPhone的目标设备系列,iPhone OS 3.1.3的iPhone OS部署目标.
有任何想法吗?
我正在开发一个Android应用程序,使用户能够将文件上传到Twitpic等服务.POST上传完成后没有任何外部库,工作正常.我唯一的问题是,我不能抓住任何进展,因为所有的上传是,当我完成接收不同时响应,写字节到输出流.这是我做的:
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
Run Code Online (Sandbox Code Playgroud)
然后我将表单数据写入dos,现在这里并不重要.之后我自己编写文件数据(从"in"读取,这是我要发送的数据的InputStream):
while ((bytesAvailable = in.available()) > 0)
{
bufferSize = Math.min(bytesAvailable, maxBufferSize);
byte[] buffer = new byte[bufferSize];
bytesRead = in.read(buffer, 0, bufferSize);
dos.write(buffer, 0, bytesRead);
}
Run Code Online (Sandbox Code Playgroud)
之后,我发送多部分表单数据以指示文件的结尾.然后,我关闭流:
in.close();
dos.flush();
dos.close();
Run Code Online (Sandbox Code Playgroud)
这一切都很好,到目前为止没问题.然而,我的问题是,无论文件有多大,到目前为止的整个过程大约需要一到两秒钟.当我阅读回复时,上传本身似乎发生了:
DataInputStream inStream = new DataInputStream(conn.getInputStream());
Run Code Online (Sandbox Code Playgroud)
这需要几秒钟或几分钟,具体取决于文件的大小和Internet连接的速度.我现在的问题是:1)当我将字节写入"dos"时,为什么不发生uplaod?2)如果一次发生所有事情,我怎样才能获取进度以便在上传过程中显示进度对话框?
/编辑:1)我在标题中设置了Content-Length,它稍微改变了问题,但没有以任何方式解决它:现在整个内容在最后一个字节写入流后上传.因此,这不会改变您无法获取进度的情况,因为同样,数据会立即写入.2)我在Apache HttpClient v4中尝试了MultipartEntity.在那里你根本没有OutputStream,因为在执行请求时会写入所有数据.再说一次,没有办法抓住进步.
有没有人有任何其他想法如何在多部分/表单上传中获取进程?
我想将以下Unix 1 Liner转换为PowerShell.
命令概要:此命令将递归搜索具有扩展名.jsp的任何文件的PWD(当前工作目录),并在文件中查找"logoutButtonForm"的简单字符串匹配.如果找到匹配项,它将打印文件名和匹配的文本.
find . -name "*.jsp" -exec grep -aH "logoutButtonForm" {}\;
Run Code Online (Sandbox Code Playgroud)
我是电脑外壳的新手,已经做了一些谷歌搜索/叮当声,但还没有找到一个好的答案.
我无法打印以下lists:keysearch功能的返回输出.
case lists:keysearch(Query,1,Data) of
{value,Answer} ->
io:format("~p",Answer);
false ->
io:format("not found ~n")
end,
Run Code Online (Sandbox Code Playgroud)
我知道答案是我应该打印出来的元组.任何人都可以告诉我我在做什么错误?提前致谢