所以我正在尝试将malloc添加到我创建的电话簿应用程序中,但由于我是C的新手,我不确定我所做的是否正确.我遇到了一个小问题,但是我已经阅读了我所拥有的初学者书籍,但它并没有像我想的那样详细,我无法通过搜索Google来判断我是否只是我如何设置malloc完全错误,或者我错过了什么.
基本上,我有4个阵列在我的结构First_Name,Last_name,home,cell.其中每个都有2个功能,一个从用户获取信息的功能和一个打印并将用户信息添加到电话簿的功能.我现在所拥有的是原始代码的一小部分,它只将第一个名称添加到电话簿中(因此它不是整个代码),并且在每个获取用户输入的函数中,我想添加malloc函数.现在我只有第一个名字和第一个malloc设置,但问题是,当我去检查电话簿以查看名称是否输入成功时,程序退出.如果我取出malloc,它可以成功运行.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define BUFFER 50
//Structure for contacts
typedef struct friends_contact {
char *First_Name;
char *Last_Name;
char *home;
char *cell;
} fr;
void menu(fr * friends, int *counter, int user_entry, int i);
void setFirst(fr *, int *, int i);
char getFirst(fr *, int i);
void add_contact(fr * friends, int *counter, int i);
void print_contact(fr * friends, int *counter, int i);
int main()
{
int …Run Code Online (Sandbox Code Playgroud) 这是我几个星期以来一直在努力解决的问题,但似乎无法找到可行的解决方案.在坚果壳中,我的程序进入一个网站并下载一些文件.当它下载文件时,FireFox总是会显示弹出窗口,询问我要将其保存到的位置.为了摆脱这个弹出窗口,我创建了一个配置文件首选项.
profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip,application/vnd.ms-excel");
Run Code Online (Sandbox Code Playgroud)
这个首选项适用于我需要下载的一个zip文件,但我完全忽略了我需要的其他3个Microsoft CSV文件.我已经尝试了我能想到的每种适用的mime类型,但没有一种能够工作.我通过一个在线程序运行我的文件,该程序应该告诉你文件的mime类型,并宣布我测试的文件是一个application/vnd.ms-excel.不幸的是,我从来没有能够使这种类型工作.我尝试了各种不同的方式来设置配置文件,例如:
profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/zip" + "application/vnd.ms-excel");
Run Code Online (Sandbox Code Playgroud)
甚至只是在application/vnd.ms-excel没有zip前面的类型的情况下使用,仍然没有骰子.有没有其他方法可以将此设置为每次我尝试下载这些文件时没有弹出窗口的位置?更好的是,我的代码是否有问题可以让zip文件工作,但不是Microsoft csv?
在构建VBA程序时,我遇到了一个奇怪的问题.该程序接收CSV文件,并在将其吐出之前进行一些重新格式化.我遇到了程序的问题,认为两位数字大于3位数字.例如,它认为60大于120,但认识到60小于80,而100小于120.以下是我的代码片段:
if Rate < Miles and (Miles > 60 and Miles <=80) then
Rate = 80
elseif Rate < Miles and (Miles > 80 and Miles <=120) then
Rate = 120
End if
Run Code Online (Sandbox Code Playgroud)
我的文件是CSV设置如下:
90210,90201,60,61
90201,90210,60,100
Run Code Online (Sandbox Code Playgroud)
在CSV文件中,每行中的最后两个数字是我关注的内容.60s是Rate,61和100是Miles.当我运行这个程序时,它将通过第一行并将Rate从60改为80,这是正确的.问题是,当它运行第二行时,它将60作为60而不是将其更改为120.
我在这部分代码上设置了一个断点,并且变量正确读取,Rate等于60,而Miles等于100,但它跳过了该Rate = 120部分.作为一个测试我改变Rate < Miles了Rate > Miles,并且确定它读取了rate = 120线,因为它现在认为60小于100.当然,进行这种改变导致运行3位数时的其他问题,因此不是一个好的整体解决方案.有人有主意吗?
access-vba ×1
c ×1
csv ×1
firefox ×1
java ×1
malloc ×1
mime-types ×1
selenium ×1
struct ×1
vba ×1