我正在学习C,而且我来自Java背景.如果我能得到一些指导,我将不胜感激.这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main(void)
{
char *str = "test text\n";
FILE *fp;
fp = fopen("test.txt", "a");
write(fp, str);
}
void write(FILE *fp, char *str)
{
fprintf(fp, "%s", str);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,我收到此错误:
xxxx.c: In function ‘main’:
xxxx.c:18: warning: passing argument 1 of ‘write’ makes integer from pointer without a cast
/usr/include/unistd.h:363: note: expected ‘int’ but argument is of type ‘struct FILE *’
xxxx.c:18: error: too few arguments to function ‘write’
xxxx.c: At top level:
xxxx.c:21: …Run Code Online (Sandbox Code Playgroud) 对不起第一次在这里问一个问题.
如果我有这样的2D数组:
int[][] array2d = {{1, 2, 3}, {6, 7, 8}};
Run Code Online (Sandbox Code Playgroud)
如何添加多个这样的1D数组:
int[] array1d = {3, 2, 1};
int[] array1d2 = {8, 7, 6};
Run Code Online (Sandbox Code Playgroud)
所以我原来的2d数组变成了这个:
int[][] array2d = {{1, 2, 3}, {6, 7, 8}, {3, 2, 1}, {8, 7, 6}};
Run Code Online (Sandbox Code Playgroud)
注意:这是为了在按下按钮时将信息从JTextfield添加到JTable中.因此,2d数组将用作表中的数据.如果有更好的方法来实现这一点,我也会很感激.=)
这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Test{
static CardLayout cardLayout;
static JPanel card = new JPanel();
public static void main(String[] args) {
JFrame frame = new JFrame("AddressBook");
JPanel contentPane = (JPanel)frame.getContentPane();
card.setLayout(cardLayout = new CardLayout());
JPanel cardTop = new JPanel();
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Name");
model.addColumn("Number");
String[] John = {"John", "1234"};
model.addRow(John);
String[] Beth = {"Beth", "4444"};
model.addRow(John);
JTable table = new JTable(model);
JScrollPane jsp = new JScrollPane(table);
cardTop.add(jsp);
card.add("Card Top", cardTop);
contentPane.add(card);
frame.setVisible(true);
frame.setSize(507, 191);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); …Run Code Online (Sandbox Code Playgroud)