- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的replace
函数有问题。我想要完成的是替换一些特殊字符,但我还没有写代码。因此,在 replace
函数中,我们此时可以说该函数应该按照我尝试编写的方式逐行打印。有人可以纠正这个功能吗?我实在看不懂
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
struct list_el {
char *ord;
int num;
struct list_el *prev;
struct list_el *next;
};
typedef struct list_el item;
struct list_el *head, *tail; /*Double linked list that makes it easier to add a element to the end of the FIFO list*/
void addNode(struct list_el *curr);
void readFile();
void print();
void replace();
void random();
void len();
int antE = 0;
int randint(int max)
{
int a = (max*rand()/(RAND_MAX+1.0));
return a;
}
int main(int argc, char *argv[]) {
item *curr;
struct list_el *pa;
if(argc == 3) {
readFile();
}
if(argc == 1) {
printf("Too few arguments, must bee 3");
} else if(strcmp(argv[1], "print") == 0) {
print();
} else if(strcmp(argv[1], "random") == 0) {
random();
} else if(strcmp(argv[1], "replace") == 0) {
replace();
} else if(strcmp(argv[1], "remove") == 0) {
printf("Random kommando kalt");
} else if(strcmp(argv[1], "len") == 0) {
len();
} else {
printf("Not a valid command");
}
if(argc == 3) {
free(curr);
}
}
void addNode(struct list_el *curr) {
if(head == NULL) {
head = curr;
curr->prev = NULL;
} else {
tail->next = curr;
curr->prev = tail;
}
tail = curr;
curr->next = NULL;
}
void readFile()
{
FILE *f = fopen("tresmaa.txt", "r");
if(f == 0) {
printf("Could not open file");
exit(8);
}
item *curr;
if(f != NULL) {
int antE = 0;
head = NULL;
char buffer[300];
while(fgets(buffer, 300-1,f) != NULL) {
curr = (item*)malloc(sizeof(item));
curr->ord = malloc(300);
curr->num = antE;
strcpy(curr->ord, buffer);
antE++;
addNode(curr);
}
}
fclose(f);
}
/*Traverserer listen og printer ut linje for lije
*/
void print()
{
item *curr;
printf("Print text:\n");
for(curr = head; curr != NULL; curr = curr->next) {
printf("%s", curr->ord);
}
}
/*Printer ut en tilfeldig setning
*/
void random()
{
item *curr;
int anum = randint(antE);
for(curr = head; curr != NULL; curr = curr->next) {
if(curr->num == anum) {
printf("Print a random line:\n%s", curr->ord);
}
}
}
void replace()
{
item *curr;
int i;
char tmp[300];
printf("Replace vowels ...\n");
printf("... with vowel 'a'\n");
for(curr = head; curr != NULL; curr = curr->next) {
strcpy(tmp, curr->ord);
for(i = 0; i < strlen(tmp); i++) {
printf("%s", tmp[i]);
}
}
}
void len()
{
item *curr;
long nc;
int i;
nc = 0;
for(curr = head; curr != NULL; curr = curr->next) {
nc += strlen(curr->ord);
}
printf("The text is %d characters long", nc);
}
最佳答案
如果您只想打印这些行,则无需复制和额外的循环即可完成:
for(curr = head; curr != NULL; curr = curr->next) {
printf("%s\n", curr->ord);
}
您当前的代码不起作用,因为您使用 %s
格式告诉 printf
它的参数将是一个字符串(也称为指向以零结尾的指针)字符序列),但是你给它一个字符,而不是这样的指针。
关于c - 指针和cstring初学者的烦恼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3743466/
我还是不明白,“test1”段落是哪种颜色,为什么? p { color: red; font-style: italic; } test1 test2 最佳答
全部, 我不知道这是否在 VS2012 中刚刚开始发生。我没有看到它发生在 VS2010 或以前的版本中。 我在 VS2012 中有一个解决方案,其中包含一些我自己的自定义项目。主项目是 ShareP
这真的开始让我紧张,这很奇怪,因为这是一个很小的问题。 假设我在没有插件/没有 vimrc 的情况下启动 (g)vim 7.3 (windows OR linux)。我打开一个较长的文件,向下滚动一半
到目前为止,我一直在研究Gradle并喜欢它!我很高兴发现apply plugin: 'eclipse'可以轻松生成Eclipse项目,但是我对依赖库显示在Project Explorer View
提前感谢任何对此提供帮助的人。我知道我以前做过这件事,没有太多痛苦,但似乎找不到解决方案 我的数据库看起来像这样: `tbl_user: ---------- id ( pkey )
我用C#做了一个邮件验证程序,但是如何检查字符串以外的数据呢? 这是我的 C# 代码: private bool CheckEmail() { string email1 = email.Te
我有一个纯 CSS 翻转,我正在尝试向其添加平滑的过渡/淡入淡出效果,但我似乎无法让它运行。 当您将鼠标悬停在“在线”div 上时,会出现一个新的“在线悬停”div。 “Online”是带有背景图片的
我正在阅读本教程: http://www.tuxradar.com/content/code-project-create-qt-rss-reader并尝试在 QT Creator 中创建 RSS 提
基本问题 你能帮我理解如何使用 vector 的 vector 吗?以vector > help为例.我不明白它是一个整数 vector ,每个整数 vector 都是一个整数 vector ,还是一
我已经搜索了选项,但似乎找不到禁用这些警告的方法。诸如此类的警告: Classpath entry org.eclipse.jdt.junit.JUNIT_CONTAINER/4 will not b
我正在运行 Windows XP 和 Eclipse 4.2.2 Build id:M20130204-1200,并且我丢失了调试和启动工具栏。我尝试过 Windows>Reset Perspecti
我喜欢 STL 算法,并且更喜欢使用算法而不是通常的循环。 几乎所有的 STL 算法通常都被用作: std::algorithm_name( container.begin(), container.
我已经从事 iPhone 编程 6 个月了,并且有 PC/Java/Eclipse 背景,但对 Xcode/iPhone 编程仍然有一些烦恼,我想知道是否有任何捷径。 有什么方法可以防止 XCode
我用不同的文本属性填充了一个下拉列表控件,但每个文本属性都有相同的值(文本属性是A,值属性是blah,文本属性是B,值属性是blahblah,等等...) ASP.net 仅检查回发时的值属性,因为所
我们正在考虑将我们的站点从 Prototype 切换到 jQuery。由于对 Prototype 太熟悉了,我很清楚 Prototype 的一些限制或烦人之处。 我想问 jQuery 用户的问题是:使
在 VS2010 中,当我的智能感知(对于 C#)弹出时,第一个选定的项目没有突出显示。这意味着我必须按向下/向上箭头,然后才能按点/输入/括号来获取完整的单词。 这只发生在新的智能感知中(搜索无处不
有人请帮忙 - 一直在努力解决这个糟糕的问题! 我在做什么 - 我有一个 ASPX 页面,我从该页面发起一个 GET,然后一个 POST 到一个 HTTPS 页面,以便登录它。我花了很多时间将我的 G
除了提高日志级别之外,有人知道消除此警告的好方法吗?请注意,服务器中的所有内容仍按预期工作,但每次重新启动服务器时都会发生这种情况。 o.s.b.f.c.CustomEditorConfigurer
我是一名优秀的程序员,十分优秀!