zoukankan      html  css  js  c++  java
  • Linux和OS X上的wfopen,打开宽字符版的文件名和模式(filename, mode)

    Linux和OS X上的wfopen,打开宽字符版的文件名和模式(filename, mode)

                                                                                                   Wentao Sun.

    #include <stdio.h>
    #include <wchar.h>
    #include <stdlib.h>


    #define MAX_PATH 1024

    FILE
    * wfopen(const wchar_t* filename, const wchar_t* mode)
    {
        
    char fn[MAX_PATH];
        
    char m[MAX_PATH];
        wcstombs(fn, filename, MAX_PATH);
        wcstombs(m, mode, MAX_PATH);
        
    return fopen(fn, m);
    }

    #define SIZE 4

    struct person
    {
        
    char name[10];
        
    int year;
        
    int month;
        
    int day;
    }personArray[SIZE];


    int main()
    {
        wchar_t 
    *filename = L"/Perforce/sandbox/1.txt";
        wchar_t 
    *mode = L"r";
        
        FILE
    * pFile = wfopen(filename, mode);
        
    if(pFile)
            printf(
    "File open successeed!\n");
        
    else
            printf(
    "File open failed!\n");
            
        
    /* int i;
        for(i = 0; i < SIZE; i++)
        {
            if(fread(&personArray[0], sizeof(struct person), i, pFile) != 1)
            {
                printf("File read failed at fread!\n");
            }
        }
            
        fclose(pFile);
          
          
          for( i = 0; i < SIZE; i++)
          {
            printf("%s, %d, %d, %d", personArray[i].name, personArray[i].year, personArray[i].month, 
                                     personArray[i].day);
            printf(" ");
          }
          
        printf("\n");
    */
              
        
    /* use the second test case to test*/
        
    int c;
        
    while( (c = fgetc(pFile)) != EOF)
        {
            printf(
    "%c", c);
        }
       fclose(pFile);
        
        
    return 0;
    }
  • 相关阅读:
    201706120024 编译原理第一次作业
    P2014 选课 题解(树形DP)
    基础算法·二分答案
    P4285 [SHOI2008]汉诺塔 题解 (乱搞)
    2018.12-2019.1 TO-DO LIST
    记录一枚蒟蒻的成长(持续更新)
    P3796 【模板】AC自动机(加强版) 题解(Aho-Corasick Automation)
    BuaacodingT651 我知道你不知道圣诞节做什么 题解(逻辑)
    P2766 最长不下降子序列问题 题解(网络流)
    P2516 [HAOI2010]最长公共子序列 题解(LCS)
  • 原文地址:https://www.cnblogs.com/SunWentao/p/1325687.html
Copyright © 2011-2022 走看看