我试图找出我应该给sscanf的模式。我有一个字符串abcde(1GB)。我想提取1和GB。我在用
char list[]= "abcde(1GB)";
int memory_size =0;
char unit[3]={0} ;
sscanf(list, "%*s%d%s" , &memory_size, unit);
Run Code Online (Sandbox Code Playgroud)
我在打印时没有看到提取的标记,我看到的是memory_size = 0和NULL为单位。
谢谢
这是一个非常简单的exec()系统调用示例.在这里,我试图打execlp()两次电话.但是,我没有得到例外输出.它仅显示当前目录的第一次调用的输出.
#include <stdio.h>
#include <unistd.h>
int main() {
int ret1,ret2;
ret1 = execlp( "pwd", "pwd", (char *) 0);
ret2 = execlp( "date", "date", (char *) 0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
/home/aniket
Run Code Online (Sandbox Code Playgroud)
在这里,我看不到日期的输出.任何人都可以解释为什么会发生这种情况?
请帮助我在以下简单代码中找出数组索引超出范围的错误.我在eclipse中运行此代码.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Union_Find {
public static void intialization(int arr[])
{
for(int i=0;i<arr.length;i++)
{
arr[i]=i;
}
}
public static void print(int arr[])
{
int i;
for(i=0;i<arr.length;i++);
{
System.out.print(" "+arr[i]);
}
}
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter array size");
int n=Integer.parseInt(br.readLine());
int arr[]=new int[n];
intialization(arr);
print(arr);
}
}
Run Code Online (Sandbox Code Playgroud)