c语言如何用gcc xxx.c -o xxx 然后./hhh.txt ?

在线急!!!

敢问有没有大神知道如何用终端(linux 之类的),用c语言读取text file。在终端是要这样写的gcc xxx.c -o xxx 然后./hhh.txt

int main(int argc, char** argv)

{

}

c语言的开头是这样的
若有大神知道麻烦赐教 小女子感激不尽

2个回答

#代码如下:

#include<stdio.h>
#include<string.h>

int main(int argc, char* argv[]){
    //获取输入的数据,格式:./hhh.txt
    char NeiRong[128]=argv[1];
    //去除"./"这个两个字符
    char NeiRong_g[128];
    for(int i=0;i<128;i++){
        NeiRong_g[i]=NeiRong[i+2];
        if(i>=126){
         NeiRong_g[i]='0';
        }
    }
    //获取文件路径
    char FileName[128]={0};
    int Date=0;
    for(int i=0;i<128;i++){
        if(NeiRong_g[i]=='\0'){
            Date=i;
            break;
        }
    }
    //获取路径
    strncpy(FileName,NeiRong_g,Date);
    //读取文件,并输出
    FILE *file=fopen(FileName,"r");
    char ch;int n=0;
    while(!feof(file)){
        ch=fgetc(file);
        printf("%c\t",ch);
        if((n+1)%5==0){
            n=0;
            printf("\n");
        }
    }
    fclose(file);
    return 0;
}

大概是这样,写的不好的话请多多包涵 [笑脸]

抱歉,没看懂你要问得是什么。。。

如果是Linux 中 gcc 编译代码, 最简单的就是:

gcc xxx.c -0 output
./output

如果是 文件读取,则可以:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <unistd.h>

int main(void) {
        int fd = 0;
        fd = open("./hhh.txt", O_RDONLY);

        int buf[1000];
        read(fd, (void *)buf, sizeof(buf));

        close(fd);

        return 0;
}

注意代码中的 buf可以大一些,毕竟你不知道文件中有多少字符。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐