我有3个不同的进程,所有进程都打印出单个字符使用printf.但我在终端看不到它们.当我添加换行符时,printf("\n H")每个字符都在一个新行上,我可以看到它们.如果没有换行符,为什么它不起作用?
我正在使用unix who命令处理一个想法.众所周知,似乎没有直接开关只提供用户名和行(终端)信息而没有日期和屏幕信息...例如:输出是mneedham tty7...2012-02-19 11:26 (:0)
我想要得到的只是那mneedham tty7部分.无论用户名和终端信息有多长,解决方案都需要工作.
我尝试使用tr -s ' '(一个空间)who | tr -s ' ',这给了我一切之间的空间.不是我想要的.Tried cut -d" " -f1只获取用户名.所以我希望有人可以帮我找到正确的命令来获取两点信息.
谢谢.
我在这里结束了:我有一个单线程的C++程序.这里有一些经验数据和背景信息,我试图突出最重要的关键词;
std::set涉及到).这是一个纯粹的逻辑算法.std::cout,这我可以看到在终端.所述第一线在函数内部也有一个调试消息,这是从未示出.我再也看不到任何合理的解释了.也许你可以想出如何继续下去.
编辑:重要的代码行,我更改了行号,以便我们可以参考它们并省略不相关的部分,所以并非所有内容似乎都是最有意义的.
a.cpp
10 std::set<Array const*>* symbols;
11 std::set<Array const*> allSymbols;
12 symbols = &allSymbols;
// ... allSymbols are populated with std::inserter
15 std::cout << "eval; cd = " << &cd << ", cg = " << &cd.cg << std::endl;
16 …Run Code Online (Sandbox Code Playgroud) c++ debugging object-lifetime non-deterministic heap-corruption
考虑一下,我使用std :: for_each和带有重载operator()的对象来累积一些有关向量内容的数据:
#include <iostream>
#include <vector>
#include <algorithm>
struct A{
int a;
A(): a(0){}
void operator()(int i) {
if(i) a++;
std::cout << "a:" << a << std::endl;
}
};
int main(int argc, char *argv[]) {
//test data
std::vector<int> vec;
vec.push_back(1);
vec.push_back(1);
vec.push_back(0);
//accumulator
A accum;
std::for_each(vec.begin(), vec.end(), accum);
std::cout << "non-zero elements:" << accum.a << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这输出:
a:1
a:2
a:2
non-zero elements:0
Run Code Online (Sandbox Code Playgroud)
为什么是non-zero elements0?
您可以无限制地停止和重复动画,但如果重新启动无限动画,它将失去其累积值并从初始值开始.
也许我应该用一个例子来澄清; 拍这个动画:
<animate id="main"
attributeName="transform" attributeType="XML"
begin="startbox.click" dur="1s" end="endbox.click"
from="rotate(0)" to="rotate(360)"
additive="sum"
accumulate="sum"
fill="freeze"
repeatCount="indefinite"
/>
Run Code Online (Sandbox Code Playgroud)
如果我停止这个动画,并启动另一个(比如说id="second")影响同一个物体的旋转,那么second它将完全从main左边的点继续.但是如果我通过单击startbox(或通过任何其他事件)来启动这个,它将减去所有差异main并在开始之前重置旋转.
我想要的是一个正确的"暂停",我可以继续以前动画停止的地方.当然,我可以添加固定数量的相同动画和相同数量的相同开始/停止按钮来模拟效果,但这不是一个好的解决方案.特别是因为暂停次数有限.
整个例子(似乎只在Opera中工作)
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink">
<desc>Click example</desc>
<g>
<rect id="startbox"
x="10" y="10"
width="20" height="20"
stroke="none" fill="green"
/>
<rect id="endbox"
x="10" y="40"
width="20" height="20"
stroke="none" fill="red"
/>
<g transform="translate(200,200)">
<rect
x="0" y="0"
width="50" height="5"
stroke="#10e9f3" fill="#30ffd0"
>
<animate
attributeName="transform" attributeType="XML"
begin="startbox.click" dur="1s" …Run Code Online (Sandbox Code Playgroud) 我正在尝试编译这个名为Pirni的C程序,它最初是为iPhone制作的,我想在Linux Ubuntu 12.04 LTS上运行它.它很短,(3个C文件和1个头文件).但我得到以下错误.我确实libpcap-dev安装了,但我确实包含了-lpcap所以我不知道可能出现什么问题.
gcc -Wall -pthread -lpcap pirni.c threads.c sniffer.c -o pirni -lnet
pirni.c: In function ‘set_forwarding’:
pirni.c:31:2: warning: implicit declaration of function ‘sysctlbyname’ [-Wimplicit-function-declaration]
/tmp/cc3sf284.o: In function `set_forwarding':
pirni.c:(.text+0xfd): undefined reference to `sysctlbyname'
/tmp/ccvGjyMo.o: In function `processPacket':
sniffer.c:(.text+0x1b): undefined reference to `pcap_dump'
/tmp/ccvGjyMo.o: In function `initSniffer':
sniffer.c:(.text+0xfa): undefined reference to `pcap_open_live'
sniffer.c:(.text+0x15a): undefined reference to `pcap_lookupnet'
sniffer.c:(.text+0x1af): undefined reference to `pcap_compile'
sniffer.c:(.text+0x1dd): undefined reference to `pcap_setfilter'
sniffer.c:(.text+0x222): undefined reference to `pcap_dump_open'
sniffer.c:(.text+0x27c): …Run Code Online (Sandbox Code Playgroud) 我用这样的标记画图:
plt.scatter(xs1, ys1, s=12, linewidths=0, marker='o', label='hello')
plt.scatter(xs2, ys2, s=12, linewidths=0, marker='x', label='hello')
Run Code Online (Sandbox Code Playgroud)
这样可以在图形中生成正确的大小,但符号在图例中几乎难以理解。如何增加图例中符号的大小?
众所周知,以下示例表现出未定义的行为:
T const x = T();
T& r = any_suitable_conversion_to_Tref(x); // fine
r = T(); // UB
Run Code Online (Sandbox Code Playgroud)
这const_cast由cppreference确认:
const_cast 可以形成一个指向实际引用 const 对象的非常量类型的引用或指针,或者形成一个指向实际引用 volatile 对象的非 volatile 类型的引用或指针。通过非常量访问路径修改常量对象并通过非易失性泛左值引用易失性对象会导致未定义的行为。
但是,它没有说明例如 c 样式转换,也没有引用标准(cppreference 通常从不引用)。
C++ 标准究竟在哪里禁止这种行为?
我有以下结构:
typedef struct {
char last[NAMESIZE];
char first[NAMESIZE];
} name;
typedef struct {
int id;
name name;
float score;
} record;
typedef struct {
record *data;
size_t nalloc;
size_t nused;
} record_list;
Run Code Online (Sandbox Code Playgroud)
我试图使用此函数从文件中读取记录:
int file_read(record_list *list, record* rec)
{
/* irrelevant code eliminated */
while(fread(&records, sizeof(record), 1, fp))
{
*rec = records;
valid_list_insert = list_insert(list, rec);
if(!valid_list_insert)
{
return 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用此函数将record_list写入文件:
int file_write(record_list* list)
{
/* irrelevant code eliminated */
if(fwrite(&list, sizeof(record_list), 1, fp) == 0)
{ …Run Code Online (Sandbox Code Playgroud) #!bin/bash
echo enter your password :
read password
passlength=$(echo ${#password})
if [ $passlength -le 8 ];
then
echo you entered correct password
else
echo entered password is incorrect
fi
if [[$password == [a-z]*[0-9][a-z]*]];
then
echo match found
else
echo match not found
fi
Run Code Online (Sandbox Code Playgroud)
我没有弄清楚这段代码有什么问题.如果我输入任何字符串作为密码,让我们说hello123,它给了我一个错误:
hello123:找不到命令
我的脚本出了什么问题?