我正在尝试从txt文件中撤回字符串。
文件内容为;
基本上,每一行都有一个单词,我想阅读每一行并将单词缩进字符串中,char* word[25]
因为较长的单词为24个字符。当我实现一个简单的代码以读取每行之间ASCII中的每个字符时,就有10
行尾值。因此,我创建了一个for
没有任何条件的循环,并添加了if
条件以发现10
行(LF)的值结尾。但这是行不通的,我敢肯定我搞砸了一些非常基本的代码或逻辑。抱歉,如果我的代码看起来不合逻辑或非常错误,那么我是新手。另外,如果可以完成此步骤,我将使用很多库添加cos。TIA
#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main(int argc, char *argv[])
{
if (argc < 2)
{
printf("Usage: ./word filename\n");
return 1;
}
FILE* ptr = fopen(argv[1], "r");
char ch;
char* word[45];
for (int i = 0; ;i++)
{
ch = fgetc(ptr);
word[i] = &ch;
if (ch == 10)
{
break;
}
}
printf("%s\n", *word);
return 0;
}
终端输出
~/snippets/ $ make word
clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow word.c -lcrypt -lcs50 -lm -o word
~/snippets/ $ ./word lec3.txt
`
~/snippets/ $
如果放下指针怎么办..
char ch;
char word[45];
for (int i = 0; ;i++)
{
ch = fgetc(ptr);
word[i] = ch;
if (ch == 10)
{
break;
}
}
printf("%s\n", word);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句